Abschlussarbeit. Titel: SpamAware (Spamfilter-Plugin für Outlook Express) Harald R. Binkle. August Betreuung: Prof. Dr.

Größe: px
Ab Seite anzeigen:

Download "Abschlussarbeit. Titel: SpamAware (Spamfilter-Plugin für Outlook Express) Harald R. Binkle. August 2005. Betreuung: Prof. Dr."

Transkript

1 Abschlussarbeit Titel: SpamAware (Spamfilter-Plugin für Outlook Express) Harald R. Binkle August 2005 Betreuung: Prof. Dr. Andreas Künkler Fachbereich Design und Informatik Fachhochschule Trier University of Applied Sciences

2 FACHHOCHSCHULE TRIER UNIVERSITY OF APPLIED SCIENCES Fachbereich DESIGN UND INFORMATIK Autor: Harald Binkle Titel: SpamAware (Spamfilter-Plugin für Outlook Express) Studiengang: Informatik (Bachelor of Science) Betreuung: Prof. Dr. Andreas Künkler Fachbetreuung: Dipl.-Inf. Joachim Marder, Jam-Software, Trier August 05 Es wird hiermit der Fachhochschule Trier (University of Applied Sciences) die Erlaubnis erteilt, die Arbeit zu nicht-kommerziellen Zwecken zu verteilen und zu kopieren. Unterschrift des Autors c Harald R. Binkle, 2005

3 Vorwort An dieser Stelle möchte ich mich bei meinen Betreuern Herrn Prof. Dr. Andreas Künkler und Herrn Dipl.-Inf. Joachim Marder bedanken, die mir jeder Zeit bei Fragen mit gutem Rat zur Seite standen. Außerdem danke ich meinen Kollegen und Kolleginnen der Firma Jam-Software, die mir ebenfalls Unterstützung boten. iii

4 Kurzfassung SpamAware ist ein Spamfilter Plugin für Microsoft Outlook. Dieses Plugin ist im Rahmen der zuvor angefertigten Projektarbeit entwickelt worden. Nun soll es mit weiteren Funktionen versehen werden, die sowohl die Filterleistung als auch die Benutzerfreundlichkeit erhöhen. Neben neuen Filterfunktionen soll ebenfalls der zugrunde liegende Filter, SpamAssassin, erneuert werden. Dieser wird mittels eines speziellen Perl Compilers in eine DLL kompiliert. Des Weiteren ist SpamAware so zu verändern, dass es sowohl unter Microsoft Outlook, als auch unter Microsoft Outlook Express zum Einsatz kommen kann. Da Microsoft Outlook Express im Gegensatz zu Microsoft Outlook keine COM-Schnittstelle für Plugins besitzt, ist hierzu eine API eines Drittherstellers erforderlich. Als Entwicklungsumgebung soll Borland Delphi 7 verwendet werden. Das fertige Produkt sollte schließlich sowohl in deutscher Sprache, als auch in Englisch als ausführbare Installationsdatei inklusive Hilfedateien vorliegen. Abstract SpamAware is a spam-filter-plugin for Microsoft Outlook. This plugin was developed during last year s semester project. Now this plugin should be extended with more features to improve the power of the filter and the usability. Beside new features the underlying filter, SpamAssassin, should be renewed. This one will be compiled into a DLL with a special Perl compiler. Furthermore SpamAware has to be modified so that it runs under Microsoft Outlook as well as under Microsoft Outlook Express. Because Microsoft Outlook Express does not have a COM interface like Microsoft Outlook an API of a third company has to be used. Borland Delphi 7 has to be used to implement the program. The final product should come as installation file in both languages, German and English. iv

5 Inhaltsverzeichnis 1 Einleitung 1 2 Aufgaben- und Anforderungsspezifikation 2 3 Der Hintergrund von SpamAware Was ist Spam? Die Auswirkungen von Spam SpamAssassin Was ist SpamAssassin? Wie funktioniert SpamAssassin und was kann er? Installation von Perl und SpamAssassin Erstellen des Perl-Scripts zum Erzeugen der DLL Unit SpamUtils für den Zugriff auf SpamAssassin Entwurf der Klassen Implementierung der Klassen Die Version 1.0 von SpamAware 23 6 Erweitern von SpamAware Die Black-/Whitelist Funktion Menüpunkte zum Hinzufügen zu Blacklist / Whitelist Importieren von Adressbuchkontakten Automatisches Aufnehmen von Empfängern eigener Mails in die Whitelist Die verschiedenen ScanModi Die Einbindung der Hilfedatei zur kontextsensitiven Hilfe Die Schlagwortliste für eine Wortbewertung Den aktuell angezeigten Ordner scannen Integration in Outlook Express Entwurf der Schnittstelle Implementierung Erstellen der Installationsdatei Erstellen des Installationsscripts in InnoSetup v

6 9 Installation und Benutzung Installation Die Benutzung Die Optionen von SpamAware Zusammenfassung und Ausblick Zusammenfassung Ausblick Abbildungen 58 Quellen 59 vi

7 1 EINLEITUNG 1 1 Einleitung Jeder der eine -Adresse besitzt kennt dieses Phänomen. Der Posteingang des Programms läuft vor s über. Aber die meisten dieser Nachrichten sind unerwünscht, so genannter Spam. Meist sind es Werbe- s, um die nie gebeten wurde. Die Anzahl solcher umher irrenden s steigt stetig. So muss jeder Benutzer immer mehr Zeit damit verbringen erwünschte s unter all dem Spam heraus zu sortieren. Viele Dienstleister bieten das automatische Filtern von Spam an, was vor noch nicht so langer Zeit schon für Schlagzeilen gesorgt hatte 1. Doch selbst wenn ein Benutzer den Spam-Filter-Service eines Providers in Anspruch nimmt, gelingt es immer noch einer Vielzahl von unerwünschten E- Mails hindurch zu schlüpfen. Das Verlangen nach einem Programm, das wirklich allen Spam heraus filtert kommt schnell auf. Auf der Suche nach solchen Programmen stellt sich schnell heraus, dass sie entweder kaum Spam filtern oder kostenpflichtig sind. Bei einer solchen Suche stolpert man immer wieder auf SpamAssassin. SpamAware macht sich SpamAssassin zu nutze und hüllt seine Effektivität in ein einfach zu bedienendes Plugin für Microsoft Outlook und Outlook Express. Mit Hilfe von SpamAware sind Gedanken über die Fragen, Was genau ist Spam? Und wie werde ich ihn wieder los?, nicht mehr nötig. Welche Frage sich noch stellt ist: Wie funktioniert SpamAware, beziehungsweise SpamAssassin? In den folgenden Kapiteln werden diese Fragen beantwortet. Zudem wird dargelegt wie SpamAssassin in SpamAware integriert und für Outlook Express zugänglich gemacht wurde. 1 Die Dienstleister hatten Spam ohne den Kunden zu informieren aussortiert. So wurden dem Kunden Nachrichten vorenthalten, was das Postgeheimnis verletzt.

8 2 AUFGABEN- UND ANFORDERUNGSSPEZIFIKATION 2 2 Aufgaben- und Anforderungsspezifikation Aufgabe dieser Abschlussarbeit war die Erweiterung eines Spamfilter-Plugins für Microsoft Outlook durch neue Funktionen und der Möglichkeit es sowohl unter Microsoft Outlook als auch unter Microsoft Outlook Express nutzen zu können. Das Programm sollte schließlich als ausführbare Installationsdatei sowohl in englisch als auch in deutsch vorliegen. Es ergaben sich somit folgende Spezifikationen: 1. Folgende neue Funktionen sollen dem bestehenden Plugin hinzugefügt werden: Vom Benutzer leicht editierbare Black- und Whitelist Funktionalität, die es ihm ermöglicht diese im Optionen Dialog vorzunehmen. Das Importieren von Adressbuchkontakten aus Microsoft Outlook per Knopfdruck. Die Fähigkeit -Adressen der Empfänger ausgehender E- Mails automatisch in die Whitelist aufzunehmen. Einführen verschiedener ScanModi, von denen abhängt ob eine untersucht werden soll oder nicht: alle s untersuchen, also auch bereits untersuchte Mails nur s, die noch nicht von SpamAware untersucht wurden nur s, die noch nicht auf Spam untersucht wurden Einbindung der Hilfedatei zur kontextsensitiven Hilfe Unterstützung einer Schlagwortliste mit der s zusätzlich bewertet werden können. Die Möglichkeit die s des aktuell angezeigten Ordners zu untersuchen Erstellen von Menüpunkten zum Hinzufügen einer Auswahl von s zur Blacklist, beziehungsweise Whitelist. 2. Der dem Plugin zugrunde liegende SpamAssassin in der Version 2.6 ist durch den aktuellen SpamAssassin zu ersetzen. Dieser ist nicht

9 2 AUFGABEN- UND ANFORDERUNGSSPEZIFIKATION 3 mehr als ausführbare EXE-Datei 2 zu nutzen, sondern in Form einer DLL 3 mit passender Delphi Schnittstelle. 3. Das Plugin ist so zu erweitern, dass es sowohl unter Outlook als auch unter Outlook Express zum Einsatz kommen kann. 4. Eine Installationsdatei soll inklusive der Hilfe- und Liesmich-Dateien erstellt werden. Um Zugang zu Outlook Express zu bekommen muss eine API eines Drittherstellers [Nkt] verwendet werden. Alle Funktionalität, die in Outlook gegeben ist, soll somit auf Outlook Express übertragen werden. Das Abändern von SpamAware sollte so erfolgen, dass die zukünftige Unterstützung weiterer Programme keine größeren Änderungen mehr erfordert. 2 eine EXE-Datei ist eine für Windows (32 bit) ausführbare Datei; in diesem Fall ein Kommandozeilenprogramm 3 DLL=Dynamic Link Library, eine Datei mit Hilfsmodulen für ausführbare Programme

10 3 DER HINTERGRUND VON SPAMAWARE 4 3 Der Hintergrund von SpamAware Der Inhalt dieses Kapitels ist vorwiegend einer Studie des Bundesamt für Sicherheit in der Informationstechnik entnommen.[bsi] Mittlerweile besteht 60% bis 90% des -Verkehrs im Internet aus Spam. Kämen keine Filter zum Einsatz und würde jeder Benutzer einer - Adresse durchschnittlich zehn Sekunden zum Erkennen und Löschen von Spam benötigen, ergäbe dies ein Schaden von fast Euro 4 (bei einem Stundenlohn von 50 Euro). 3.1 Was ist Spam? SPAM ist ein Kunstwort, das aus dem englischen Begriff Spiced Ham entstanden ist. Spiced Ham ist eine Markenbezeichnung einer amerikanischen Firma, die unter diesem Namen Frühstücksfleisch in Dosen verkauft. Der Zusammenhang mit einer unerwünschten ergab sich erst nachdem eine britische Komiker-Truppe (Monty Python) in einem Sketch laut singend SPAM...SPAM...SPAM... jedwedes sinnvolle Gespräch in einem kleinen Restaurant zu unterdrücken versuchte. Als sich so im Laufe der Jahre Spam als Begriff für unerwünschte s etablierte, begann sich ebenfalls der Begriff Ham für erwünschte s zu festigen. Spam- s haben allerdings nicht die Absicht jedwede sinnvolle in ihrer Überzahl untergehen zu lassen. Spam entsteht auf verschiedene Art und Weise. Firmen haben in s ein Werbemedium gefunden, dass bei dessen Nutzung kaum Kosten verursacht. Diese Firmen verschaffen sich Listen von gültigen -Adressen, denen sie so ihre Werbung zukommen lassen. Diese Werbe- s (formal UCE, Unsolicited Commercial ) haben immer den selben Inhalt und werden an unzählige Adressen geschickt. Diese Firmen ( Spammer genannt) betreiben teils selbst große Anstrengungen, um an möglichst viele Adressen zu gelangen, teils geben sie dies an darauf spezialisierte Firmen ab. Es gibt verschiedene Methoden um an -Adressen zu gelangen. Die wohl bekanntesten sind das zufällige Generieren von Adressen mittels Wörterbüchern und das so genannte harvesting. Beim harvesting durchsuchen Programme systematisch das Internet nach -Adressen. Eine weitere Quelle von Spam sind s, die von Viren und Würmern verursacht werden. Diese Schädlinge verbreiten sich, indem sie sich selbst 4 pro Jahr,pro Person

11 3 DER HINTERGRUND VON SPAMAWARE 5 an alle Adressen des Adressbuches eines befallenen Computers schicken. Dadurch entsteht ein Exponentielles Wachstum der Anzahl von s, was die enorm hohen Prozentzahlen von 60-90% erklärt. Zudem kommt hinzu, dass Spam s, egal wie sie erzeugt wurden, immer wieder an Adressen geschickt werden, die entweder fehlerhaft sind oder gar nicht mehr existieren. Server sind meist so konfiguriert, dass beim Empfang dieser selbige annehmen und kurze Zeit später eine Fehlermeldung (bounces) an den Empfänger zurück schicken. Diese Fehlermeldungen werden womöglich ebenfalls nicht ankommen, da Spammer oft ihre Absenderadresse fälschen. So entsteht eine weitere Welle von s (die Fehlermeldungen), die nicht erwünscht ist. Diese Art von Spam wird als colateral spam bezeichnet. 3.2 Die Auswirkungen von Spam Die Auswirkungen von Spam lassen sich am besten durch Bespiele der Kosten die Spam verursacht darstellen. Betrachten wir zunächst ein Großunternehmen mit eigener IT-Abteilung. Wir schätzen die unmittelbaren Kosten durch den gesteigerten -Verkehr auf ca Euro pro Jahr 5. Die mittelbaren Kosten des Produktivitätsausfalls betragen ca. 1,6 Millionen Euro 6. Sonstige Kosten - wie Imageschaden, Virenschäden und rechtliche Auseinandersetzungen - veranschlagen wir pauschal mit Euro. Somit ergeben die durch Spam verursachten Kosten (ohne Schutzmaßnahmen) eine Summe von 1,7 Millionen Euro pro Jahr 7, was etwa 18 Cent pro entspricht. Rechnet man dies mit dem Einsatz von Antispam-Maßnahmen durch, ergibt sich folgendes: Ein solches Unternehmen wird wahrscheinlich einen -Server besitzen, der eingehende s mittels einer kommerziellen Software auf Spam und Viren überprüft. Damit ergeben sich als unmittelbare Kosten die Lizenz Spam- und Viren- s(mit 25 KByte durchschnittlich) * 365 Tage. Größe * 6 Euro pro GByte 6 ((Anzahl von Spam- und Viren- s pro Jahr * 10 Sekunden zum manuellen Erkennen und löschen)/(8 Std. * 60 Min. * 60 Sek.)) * 500 Euro [Personentagessatz] 7 die mittelbaren + die sonstigen Kosten. Die unmittelbaren können bei dieser Summe vernachlässigt werden.

12 3 DER HINTERGRUND VON SPAMAWARE 6 kosten der Software und die Personalkosten der IT-Abteilung in Höhe von Euro 8. Dies entspricht einem Betrag von 4 Cent pro Spam- . Vergleicht man diese Zahlen mit denen eines Kleinunternehmens, was mit einem Privatanwender vergleichbar ist, kommt man zu folgendem Ergebnis: Die unmittelbaren Kosten entstehen hier durch längere Downloadzeiten und höheren Traffic. Dies ergäbe Kosten für den Download von ca. 750 zusätzlichen s mit ca. 18MByte, die zu vernachlässigen sind. Der Produktivitätsausfall wird hier am stärksten gewichtet. Geht man wiederum davon aus, dass 10 Sekunden benötigt werden, um eine Spam- zu erkennen und zu löschen, ergibt das einen Ausfall von zwei Stunden pro Tag. Hinzu kommt der Ausfall von durchschnittlich einem halben bis einen Tag für die Beseitigung von durch Spam erhaltene Viren. Somit sind die relativen Kosten für den Endanwender von ca. 66 Cent 9 pro Spam- deutlich höher als die eines Großunternehmens. Entscheidet sich das Kleinunternehmen / der Privatanwender für den Einsatz einer Antispam-Lösung und/oder eines Virenscanners fallen hier zum Beispiel Lizenzkosten von 25 Euro pro Jahr an (es gibt natürlich auch kostenlose Lösungen) beziehungsweise einmalige Kaufkosten von ca. 20 Euro. Somit errechnen sich hier Kosten von 325 Euro pro Jahr 10, was ca. 4 Cent pro Spam- entspricht. An diesen Beispielen ist zu sehen, dass es sich für jeden lohnt eine Antispam- Software zu installieren Euro pro Jahr für Nutzerlizenzen der Anitspam-Software Euro für eventuelle zusätzliche Hardware Euro zur Administration der Software + 5% von 1,7 Millionen [bei einer realistischen Trefferquote des Spamfilters von 95%] Euro[Personentagessatz] / 750 Spam- und Viren- s 10 5% von 750 * (500 Euro[Personentagessatz] * 12 Monate) + 25 Euro Lizenzkosten

13 4 SPAMASSASSIN 7 4 SpamAssassin 4.1 Was ist SpamAssassin? SpamAssassin is a mail filter to identify spam. It is an intelligent filter which uses a diverse range of tests to identify unsolicited bulk , more commonly known as Spam. These tests are applied to headers and content to classify using advanced statistical methods. In addition, SpamAssassin has a modular architecture that allows other technologies to be quickly wielded against spam and is designed for easy integration into virtually any system. [SpAs] SpamAssassin ist ein in in Perl geschriebener Spamfilter aus der Unix- Welt. Er ist wohl der bekannteste seiner Art und kommt vor allem auf Unixservern zum Einsatz. Seit August 2004 ist SpamAssassin ein Projekt der Apache Software Foundation und unter der Apache-Lizenz lizenziert. 4.2 Wie funktioniert SpamAssassin und was kann er? Wie im obigen Zitat zu lesen, ist SpamAssassin modular aufgebaut. Dies gibt ihm die Möglichkeit auf einfache Weise neue Funktionen zu seinen Fähigkeiten hinzu zu fügen und bestehende zu optimieren. Jedes dieser Module gibt eine Punktzahl beim Untersuchen einer zurück. Die Summen aller Punkte der Module ergeben schließlich den Spamscore. Je höher diese Punktzahl ist, desto wahrscheinlicher ist die untersuchte Spam. Die Module zur Bewertung stützen sich auf unterschiedliche Methoden. Die wichtigsten Methoden sind hier aufgelistet: Tests auf den Kopf, wie zum Beispiel Anfragen an die Server zu stellen, über welche die angeblich weitergeleitet wurde, um heraus zu finden ob diese wirklich existieren. Statische Tests: meist lexikalische Untersuchungen auf den Kopf und Rumpf bis hin zur Untersuchung kompletter Phrasen des Inhaltes Analyse von Zeichensätzen im Zusammenhang mit lokalisierter Benutzung Abfrage so genannter RBLs (Realtime Blackhole Lists): Server mit Listen von Hashwerten deren zugehörige s schon als Spam klassifiziert wurden.

14 4 SPAMASSASSIN 8 Abfrage von URL-Blacklists: Untersuchung ob URL s innerhalb von E- Mails auf Internetseiten verweisen, die schon als Werbeziel von Spam s erkannt wurden. Automatisches Whitelisting : Aufnehmen von Absender Adressen auf die Whitelist, falls die Gesamtpunktzahl einen bestimmten wert nicht erreicht hat. Nutzung eines Bayes Filters: Ein Filter, der mit Hilfe von komplexen statistischen Algorithmen die Nachrichten bewertet. Einige dieser Methoden erzeugen negative Punktwerte, wie zum Beispiel die Whitelist. Deshalb erzielen die meisten erwünschten s oftmals eine negative Gesamtpunktzahl. Alle Methoden, auch als Regeln bezeichnet, stehen in Form vom Textdateien dem SpamAssassin zur Verfügung. So ist es auf einfache Weise möglich eigene Regelsammlungen in zusätzlichen Dateien oder auch nur einzelne Regeln in der Datei local.cf 11 hinzu zu fügen. Die Regeln in einer solchen Datei werden mit Hilfe regulärer Ausdrücke erstellt. Ein Beispiel für eine solche Regeldatei ist im folgenden Listing 1 zu sehen. 1 # R a s s i s t i s c h e E Mails 2 header SOBER CT Content Type : = / t e x t \/ p l a i n ; / i 3 header ISBOUNCE 1 From = / (? :MAILER DAEMON postmaster )/ i 4 header ISBOUNCE 2 S u b j e c t = / (? : f a i l u r e d e l i v e r y d e l i v e r y 5 f a i l u r e Postmaster n o t i f y )/ i 6 header BOUNCE HEADER X Is A Bounce = /. { 0, 9 9 } / 7 meta NULL SENDER BOUNCE HEADER BOUNCE RP1 8 BOUNCE RP2 \ \ BOUNCE RP3 ISBOUNCE 1 ISBOUNCE 2 9 header CT DEL STATUS Content Type = / report type=d e l i v e r y s t a t u s / 10 meta REPORT DSN ( NULL SENDER CT DEL STATUS) 11 meta SOBER P SPAM ( SOBER P SPAM H + SOBER CT == 2) 12 s c o r e SOBER P SPAM d e s c r i b e SOBER P SPAM R a s s i s t i s c h e E Mails, T i t e l 14 meta SOBER P SPAM BOUNCE ( ( SOBER P SPAM H SOBER P SPAM B) 15 + REPORT DSN == 2) 16 s c o r e SOBER P SPAM BOUNCE d e s c r i b e SOBER P SPAM BOUNCE R a s s i s t i s c h e E Mails, T i t e l ( Bounce ) Listing 1: Auszug aus selbst erstellter Regeldatei soll. 11 Diese Datei ist dafür gedacht, dass der Benutzer einzelnen Regeln selbst hinzufügen

15 4 SPAMASSASSIN 9 Ob eine als Spam eingestuft wird entscheidet letzt endlich der Benutzer selbst. In der Konfigurationsdatei von SpamAssassin (auf welche im Kapitel 4.5 näher eingegangen wird) kann man unter anderem den required score angeben, welcher der Schwellwert ist ab dem eine als Spam klassifiziert wird. Das Ergebnis einer untersuchten Nachricht ist im Kopf der wieder zu finden. Die Version von SpamAssassin erzeugt ein Ergebnis im Kopf der wie Listing 2 zeigt. In Zeile 1 ist zu sehen, dass die untersuchte als Spam erkannt wurde. Der hier erzielte Punktwert von 13.0 (Zeile 5) hat den in der Konfigurationsdatei angegebenen Schwellwert überschritten und so wird die Nachricht als Spam klassifiziert. Von Zeile 6 des Listings 2 an sind die Tests aufgelistet, mit denen ein Punktwert erzielt wurde. Ab Zeile 10 folgt die genaue Aufschlüsselung, welcher Test welchen Punktwert ergeben hat. 1 X Spam Flag : YES 2 X Spam Checker Version : SpamAssassin ( ) 3 on pc. i n t r a n e t. jam s o f t w a r e. com 4 X Spam Level : 5 X Spam Status : Yes, s c o r e =13.0 r e q u i r e d =5.0 6 t e s t s= DRUGS ERECTILE, DRUGS ERECTILE OBFU, INFO TLD, JAM PHARMACY BD, 7 JAM VIAGRA, JAM VIAGRA BD, RCVD IN DSBL, RCVD IN XBL, SUBJECT DRUG GAP VIA, 8 URIBL OB SURBL, URIBL WS SURBL 9 a u t o l e a r n=spam v e r s i o n = X Spam Report : SUBJECT DRUG GAP VIA S u b j e c t c o n t a i n s a gappy v e r s i o n o f viagra JAM VIAGRA S u b j e c t l i n e c o n t a i n s medicine Viagra JAM PHARMACY BD BODY: Body c o n t a i n s pharmacy, medication e t c JAM VIAGRA BD BODY: S u b j e c t l i n e c o n t a i n s t y p i c a l medical 15 product l i k e Viagra or Valium INFO TLD URI : Contains an URL i n the INFO top l e v e l domain RCVD IN DSBL RBL: Received v i a a r e l a y i n l i s t. d s b l. org 18 [<http : / / d s b l. org / l i s t i n g? >] RCVD IN XBL RBL: Received v i a a r e l a y i n Spamhaus XBL 20 [ l i s t e d i n sbl xbl. spamhaus. org ] URIBL WS SURBL Contains an URL l i s t e d i n the WS SURBL b l o c k l i s t 22 [ URIs : healup. i n f o d o c s n p i l l s. i n f o ] URIBL OB SURBL Contains an URL l i s t e d i n the OB SURBL b l o c k l i s t 24 [ URIs : healup. i n f o d o c s n p i l l s. i n f o ] DRUGS ERECTILE OBFU Obfuscated r e f e r e n c e to an e r e c t i l e drug DRUGS ERECTILE R e f e r s to an e r e c t i l e drug Listing 2: Die von SpamAssassin im Kopf der eingefügten Zeilen

16 4 SPAMASSASSIN Installation von Perl und SpamAssassin Die Installation von Perl und SpamAssassin zum Erstellen der DLL läuft in drei Schritten ab. Die ersten beiden Schritte sind das Installieren der Perl Laufzeitumgebung und des SpamAssassins. Eine Erklärung dieser Schritte ist in einer sehr ausführlichen Anleitung im Internet 12 zu finden. Die Anleitung lässt sich auf folgende wesentliche Schritte reduzieren: 1. Das Herunterladen der kostenlosen Perl-Laufzeitumgebung unter Herunterladen von SpamAssassin von Installieren von ActivePerl durch Ausführen der MSI-Datei und nachinstallieren folgender Perl Module: DB File; ist erforderlich für die Unterstützung des Bayes Filters Time-HiRes; ist nicht unbedingt erforderlich verbessert allerdings die Genauigkeit der Zeitangaben IP-Country; ist nötig, damit das Country Relay Plugin funktioniert Mail-SPF-Query; ist für das SPF-Plugin nötig und installiert zugleich Net-DNS Die Installation dieser Pakete sollte bevorzugt über ppm3 15 erfolgen, welches Teil der bereits installierten Perl Laufzeitumgebung ist. Hierzu muss lediglich ppm3 in der Kommandozeile gestartet werden und das Packet mit install <packetname> installiert werden. Da ppm3 sich die aktuellen Versionen der Pakete aus dem Internet lädt, ist eine Internetanbindung erforderlich. 3. Das Installieren von SpamAssassin sieht wie folgt aus: entpacken der ZIP-Datei in einen beliebigen Ordner Kommandozeile öffnen und im Ordner der eben entpackten Spam- Assassin-Quelldateien folgende Befehle ausführen: perl makefile.pl //erstellt das Makefile 12 [SAsHT] 13 Zum Erstellen dieser Arbeit wurde die ActivePerl Version verwendet.[acst] 14 Hier wurde die Version verwendet.[spas] 15 ppm3 ist ein Paketmanager für Perl. Es ist ein Kommandozeilenwerkzeug.

17 4 SPAMASSASSIN 11 nmake //erstellt das Installationsscript nmake install //kopiert alle erforderlichen Dateien in die vorgesehenen Unterordner von Perl und erstellt Perl-Scripte zum Ausführen von SpamAssassin 4. Installation von PerlPDK 16. Dies ist ein kostenpflichtiges Paket mit verschiedenen Perl-Compilern, die mit Hilfe der Perl Laufzeitumgebung ausführbare Windows EXE- oder DLL Dateien kompilieren können. 4.4 Erstellen des Perl-Scripts zum Erzeugen der DLL Da bisher eine EXE-Datei zum Untersuchen der s verwendet wurde, lag es zunächst nahe diese Methode erneut für die neue Version von SpamAssassin zu verwenden. Allerdings funktionierte dies nicht, da die erzeugte Datei, obwohl sie mit dem selben Perl Script (siehe Listing 3) erzeugt wurde, sich in der Kommandozeile zwar identisch zur vorigen verhielt, jedoch nicht als Prozess aus Delphi heraus. Der Grund dafür konnte auch nach intensiver Suche nicht gefunden werden. 1 BEGIN { 2 my $mail = Mail : : SpamAssassin : : NoMailAudit >new ( ) ; 3 my $spamtest = Mail : : SpamAssassin >new ({ d o n t c o p y p r e f s => 1 } ) ; 4 my $ s t a t u s = $spamtest >check ( $mail ) ; 5 my $ r h i t s= $ s t a t u s >g e t r e q u i r e d h i t s ( ) ; 6 my $ h i t s = ( $ s t a t u s >g e t h i t s ( ) ) ; 7 my $ l i s t = $ s t a t u s >g e t n a m e s o f t e s t s h i t ( ) ; 8 9 print ( H i t s : $ h i t s \n ) ; 10 print ( t e s t s h i t : $ l i s t \n ) ; 11 print ( v e r s i o n=. Mail : : SpamAssassin : : Version ( ). \n ) ; $ s t a t u s >f i n i s h ( ) ; 14 } Listing 3: Perl Script Version 1.0 von SpamAware 16 Hier wurde PerlPDK in der Version verwendet.[acst]

18 4 SPAMASSASSIN 12 Da das PerlPDK nicht nur PerlApp zum Erzeugen von EXE Dateien enthält, sondern mit Hilfe von PerlCrtl die Möglichkeit bietet eine DLL zu erzeugen, wurde dieser elegantere Weg eingeschlagen. Dies erforderte tiefer gehende Kenntnisse in Perl.[PeOR] So sollte ein COM-Objekt von der DLL bereitgestellt werden, das den SpamAssassin repräsentiert. Hierzu musste einerseits das Objekt und andererseits die Schnittstelle, welche die von PerlCrtl (in der späteren DLL) exportierten Methoden bereit stellt, in Perl implementiert werden. Dies funktionierte wunderbar bis auf die Tatsache, dass SpamAware die Möglichkeit bietet die s mit mehreren Threads gleichzeitig zu scannen und diese Threads nun serialisiert wurden. Die Idee mehrere Instanzen des einen SpamAssassin-Objektes aus der DLL heraus zu erzeugen wurde schnell wieder verworfen, da dies dazu führte, dass auch die einkompilierte Perl Laufzeitumgebung ebenfalls jedes mal mit instantiiert wurde und so jeweils 20 MB im Hauptspeicher mehr belegt wurden. Um auch diesem Problem Abhilfe zu schaffen, müssen nun mehrere SpamAware Objekte und somit auch mehrere der zugehörigen Methoden statisch in der DLL zur Verfügung stehen. Anders ist es leider nicht zu lösen, da nur die Objekte der obersten Ebene des Perl Scripts von PerlCtrl parallel angesprochen werden können. Der Aufbau des Perl Scripts ergibt sich also wie in Abbildung 1 zu sehen ist. Das Perl Script selbst ist aus drei Teilen aufgebaut. 1. Die Implementierung des Wrappers der SpamAssassin-Objekte mit den zugehörigen Methoden (siehe Listing 4 Zeile 1-78). 2. Die Definition der Umgebungsvariablen für die SpamAssassin-Objekte, deren Methode und die Erzeugung der zunächst 10 SpamAssassin Objekte (siehe Listing 4 Zeile ). 3. Die Typdefinitionen für PerlCtrl, welche die exportierten Schnittstellen der DLL festlegen (siehe Listing 4 Zeile ).

19 4 SPAMASSASSIN 13 Abbildung 1: Die Klassen in Perl 1 package JAMSpamAssassinTest ; 2 #... use commands 3 #p r o p e r t y $score and $ n a m e s o f t e s t s h i t do always r e t u r n t h e v a l u e s 4 #o f t h e l a s t run scan. Be c a r e f u l l using t h i s p r o p e r t i e s 5 #w h i l e c a l l i n g t h e scan method from s e v e r a l t h r e a d s. 6 $ s c o r e = ; # s e t e r r o r code i f not scanned 7 $ n a m e s o f t e s t s h i t = e r r o r no h i t s ; 8 $new header = ; 9 $LOCAL RULES DIR = r u l e s ; 10 $ l o c a l t e s t s o n l y = 0 ; 11 $ d o n t c o p y p r e f s = 0 ; 12 $ u s e r p r e f s f i l e n a m e ; 13 $spamtest =new Mail : : SpamAssassin ; 14 sub new { 15 my $ s e l f = s h i f t ; 16 my $type =ref ( $ s e l f ) $ s e l f ; 17 return bless {}, $type ;

20 4 SPAMASSASSIN I n i t ( ) ; 19 } 20 # sub S e t U s e r P r e f s F i l e { 22 my( $ s e l f, $ m y u s e r p r e f s f i l e n a m e ) ; 23 $ u s e r p r e f s f i l e n a m e=$ m y u s e r p r e f s f i l e n a m e ; 24 } 25 # sub GetLocalTest { return $ l o c a l t e s t s o n l y ; } 27 sub I n i t { 28 $spamtest =new Mail : : SpamAssassin ({ 29 l o c a l t e s t s o n l y => $ l o c a l t e s t s o n l y, 30 d o n t c o p y p r e f s => $ d o n t c o p y p r e f s, 31 PREFIX => $PREFIX, 32 DEF RULES DIR => $LOCAL RULES DIR, 33 u s e r p r e f s f i l e n a m e => $ u s e r p r e f s f i l e n a m e, 34 LOCAL RULES DIR => $LOCAL RULES DIR, 35 h o m e d i r f o r h e l p e r s => $PREFIX, 36 } ) ; 37 } 38 sub Scan { 39 my( $ s e l f, $amail ) ; 40 my $mail = $spamtest >p a r s e ( $amail ) ; 41 my $ s t a t u s = $spamtest >check ( $mail ) ; 42 $ s c o r e = $ s t a t u s >g e t h i t s ( ) ; 43 $ n a m e s o f t e s t s h i t = $ s t a t u s >g e t n a m e s o f t e s t s h i t ( ) ; 44 $mail = $spamtest >p a r s e ( $ s t a t u s >r e w r i t e m a i l ( ) ) ; 45 $new header = $mail >g e t a l l h e a d e r s ( ) ; 46 my $ r e t u r n s t r i n g = $ s c o r e. #. $ n a m e s o f t e s t s h i t. #. $new header ; 47 $ s t a t u s >f i n i s h ( ) ; 48 $mail >f i n i s h ( ) ; 49 return $ r e t u r n s t r i n g ; 50 } 51 sub Learn { 52 my( $ s e l f, $amail, $isspam, $ f o r g e t ) ; 53 my $mail = $spamtest >p a r s e ( $amail ) ; 54 $spamtest >i n i t l e a n e r ( ) ; 55 $spamtest >l e a r n ( $mail, $isspam, $ f o r g e t ) ; 56 $spamtest >f i n i s h l e a r n e r ( ) ; 57 return t r u e ; 58 }

21 4 SPAMASSASSIN sub spamtest { return $spamtest ; } 60 ############# 61 =D e s c r i p t i o n 62 S c r i p t to b u i l d a d l l o f SpamAssassin u s i n g p e r l c t r l from Active P e r l 63 This s c r i p t implements a l l needed methods o f SpamAssassin to make i t 64 a v a i l a b l e as COM o b j e c t. 65 =cut 66 package JAMSpamAssassin ; 67 #... use commands 68 # p r o p e r t i e s to e x p o r t : 69 $VERSION = Mail : : SpamAssassin : : Version ( ) ; ; 71 $spamtests [ 0 ] = new JAMSpamAssassinTest ; 72 # $spamtests [ 9 ] = new JAMSpamAssassinTest ; 74 $SpamtestMAX=10; 75 # sub GetRulesDir { return $spamtests [0] > GetRulesDir ( ) ; } 77 #SA uses i n t e g e r v a l u e s [ 0, 1 ] f o r r e p e s e n t a t i o n o f boolean v a l u e 78 #COM ( Delphi ) s e t s t h e v a l u e t r u e to 1 79 sub SetLocalTest { 80 my $ l t o = s h i f t ; 81 my $ i =0; 82 for ( $i, $i <$SpamtestMAX, $ i ++){ 83 i f ( $ l t o ) { $spamtests [ $ i ] >SetLocalTest ( 1 ) } ; 84 i f (! $ l t o ) { $spamtests [ $ i ] >SetLocalTest ( 0 ) } ; 85 }#f o r 86 return TRUE; 87 } 88 sub GetLocalTest { return $spamtests [0] > GetLocalTest ( ) ; } 89 #t h i s method has to c a l l e d b e f o r e t h e f i r s t scan i s s t a r t e d, 90 #i t i n i t i a l i z e s environment v a l u e s 91 sub I n i t { 92 my $ i =0; 93 for ( $i, $i <$SpamtestMAX, $ i ++){ 94 $spamtests [ $ i ] > I n i t ( ) ; 95 }#f o r 96 } 97 # i f r e p o r t i s s e t then a d e t a i l e d spamreport i s added to t h e header 98 sub Scan0 { 99 my $amail = s h i f t ;

22 4 SPAMASSASSIN return $spamtests [0] > Scan ( $amail ) ; 101 } 102 #..... t h e o t h e r 8 f u n c t i o n s 103 sub Scan9 { 104 my $amail = s h i f t ; 105 return $spamtests [9] > Scan ( $amail ) ; 106 } 107 #l e t t h e bayes f i l t e r l e a r n a mail as spam or ham. 108 #i f f o r g e t i s t r u e t h e mail w i l l be removed from both l i s t s. 109 sub Learn0 { 110 my $amail = s h i f t ; 111 my $isspam = s h i f t ; 112 my $ f o r g e t = s h i f t ; 113 $spamtests [0] > l e a r n ( $amail, $isspam, $ f o r g e t ) ; 114 return t r u e ; 115 } 116 #..... t h e o t h e r 8 f u n c t i o n s 117 sub Learn9 { 118 my $amail = s h i f t ; 119 my $isspam = s h i f t ; 120 my $ f o r g e t = s h i f t ; 121 $spamtests [9] > l e a r n ( $amail, $isspam, $ f o r g e t ) ; 122 return t r u e ; 123 } 124 # ############# 126 =POD 127 =BEGIN P e r l C t r l 128 %TypeLib = ( 129 PackageName => JAMSpamAssassin, 130 DocString => JAMSpamAssassin Library to a c c e s s SpamAssassin, 131 TypeLibGUID => {A5D4722A 2CBD 453B 931B 229E01F2E8B0}, 132 ControlGUID => {B56AAB35 53A8 4E94 B19D DABF67894F17}, 133 D i s p I n t e r f a c e I I D=> {D1A23714 EE53 48E A7AF6956}, 134 ControlName => JAMSpamAssassinControl, 135 ControlVer => 2, 136 ProgID => JAMSpamAssassin, 137 LCID => 0, 138 DefaultMethod => I n i t, 139 # no or empty r e t u r n v a l u e i s not a l l o w e d f o r d e l p h i so s e t t i n g b o o l 140 Methods => {

23 4 SPAMASSASSIN # S e t L o c a l R u l e s D i r => { 143 DocString => path to the l o c a l r u l e s, 144 RetType => VT BOOL, 145 TotalParams => 1, 146 NumOptionalParams => 0, 147 ParamList =>[ LOCAL RULES DIR => VT BSTR ] 148 }, 149 GetLocalRulesDir => { 150 DocString => r e t r i e v e path to the l o c a l r u l e s, 151 RetType => VT BSTR, 152 TotalParams => 0, 153 NumOptionalParams => 0, 154 ParamList =>[] 155 }, 156 I n i t => { 157 DocString => c a l l b e f o r e a scan i s s t a r t e d, 158 RetType => VT BOOL, 159 TotalParams => 0, 160 NumOptionalParams => 0, 161 ParamList =>[] 162 }, 163 Scan0 => { 164 DocString => scan the given mail, 165 RetType => VT BSTR, 166 TotalParams => 1, 167 NumOptionalParams => 0, 168 ParamList =>[ amail => VT BSTR ] 169 }, 170 #..... t h e o t h e r 8 f u n c t i o n s 171 Scan9 => { 172 DocString => scan the given mail, 173 RetType => VT BSTR, 174 TotalParams => 1, 175 NumOptionalParams => 0, 176 ParamList =>[ amail => VT BSTR ] 177 }, 178 Learn0 => { 179 DocString => l e t the bayes l e a r n, 180 RetType => VT BOOL, 181 TotalParams => 3,

24 4 SPAMASSASSIN NumOptionalParams => 0, 183 ParamList =>[ amail => VT BSTR, 184 issspam => VT BOOL, 185 f o r g e t => VT BOOL ] 186 }, 187 #..... t h e o t h e r 8 f u n c t i o n s 188 Learn9 => { 189 DocString => l e t the bayes l e a r n, 190 RetType => VT BOOL, 191 TotalParams => 3, 192 NumOptionalParams => 0, 193 ParamList =>[ amail => VT BSTR, 194 issspam => VT BOOL, 195 f o r g e t => VT BOOL ] 196 }, 197 # }, # end o f Methods 199 # can t w r i t e to p r o p e r t i e s so t hey are read only 200 # and t h e r e are methods f o r w r i t i n g a c c e s s 201 P r o p e r t i e s => { 202 VERSION => { 203 DocString => v e r s i o n o f c u r r e n t running SA, 204 Type => VT BSTR, 205 ReadOnly => 1, 206 }, 207 SpamtestMAX => { 208 DocString => maximum number o f SA i n s t a n c e s, 209 Type => VT I2, 210 ReadOnly => 1, 211 }, 212 } # end o f P r o p e r t i e s 213 ) ; # end o f %TypeLib 214 =END P e r l C t r l 215 =cut Listing 4: Auszug aus dem Perl Script zur Erzeugung der DLL Das Implementieren des Wrappers erforderte tiefere Einarbeitung in den Quellcode von SpamAssassin. Darauf möchte ich wegen der Größe und Komplexität von SpamAssassin im Rahmen dieser Arbeit aber nicht näher eingehen. Auffallend ist, dass die Methode Scan einen zusammengesetzten String aus

25 4 SPAMASSASSIN 19 dem erreichten Punktwert, den Trefferregeln und dem neuen Kopf zurück gibt (siehe Zeile 65 in Listing 4). Dies ist nötig, da es leider nicht möglich ist mehrere Werte zurück zu geben. Würde man die Ergebnisse über Properties oder out Variablen zugänglich machen wollen, könnte es vorkommen, dass diese schon Werte eines nachfolgenden Scans enthalten, wenn mehrere Scans schnell nacheinander folgen. Damit ist des Öfteren zu rechnen. Die Implementierung der Methoden, die später von der DLL bereitgestellt weden, ist jetzt recht einfach. Ein Feld, das zunächst zehn SpamAssassin Objekte fasst, wird beim Laden der DLL erstellt und die Umgebungsvariablen über eine Init-Methode den Objekten zugewiesen. Es werden also für zehn SpamAssassin-Objekte zehn Scan-Methoden und zehn Learn-Methoden benötigt. Dadurch ist es möglich mit 10 Threads gleichzeitig zu scannen. Die Definition der so genannten TypeLib zur Bereitstellung der Methoden durch die DLL beschreibt die Methoden inklusive der verwendeten Typen. Auf diese Weise sind die späteren Zugriffe durch die DLL auf die ungetypten Variablen aus Perl definiert. Mit diesem Perl Script ist es nun möglich mittels PerlCtrl die gewünschte DLL zu erstellen. Das Kommandozeilenwerkzeug PerlCtrl wird im Verzeichnis vom Spam- Assassin-Quellcode aufgerufen. Dort muss sich ebenfalls das zuvor erstellte Perl Script befinden, welches als Parameter übergeben wird. PerlCtrl bietet über zusätzliche Parameter die Möglichkeit der DLL weitere Informationen zu geben, wie zum Beispiel Copyright, Version und Firma. Der Befehl zum Erstellen der DLL könnte also so aussehen: perlctrl --info CompanyName=JAM-Software --info FileDescription="SpamAssassin 3.0.3" --info FileVersion=1.0 --info LegalCopyright="Joachim Marder" sadll.pl

26 4 SPAMASSASSIN 20 Abbildung 2: Die Klassen der Unit SpamUtils 4.5 Unit SpamUtils für den Zugriff auf SpamAssassin Die Unit SpamUtils dient zum einen dem leichteren Zugriff auf die DLL, und zum anderen dem Zugriff auf die Konfigurationsdatei von SpamAssassin Entwurf der Klassen Die Unit sollte anderen Programmen einfaches Scannen von s mit Hilfe der DLL ermöglichen. Also gibt es eine Klasse TJAMSpamAssassin, die alle Zugriffe auf das aus der DLL erzeugte Objekt vornimmt, eine Klasse TJAMSpamTest die einen Scan einer repräsentiert und eine Klasse TSpamAssassinConfigFile zum Verwalten der Konfigurationsdatei. Diese Klassen sind in Abbildung 2 dargestellt Implementierung der Klassen Die Klasse TJAMSpamAssassin ist als Singleton pattern implementiert, da es nicht sinnvoll ist mehrere Instanzen des SpamAssassin-Objektes zu erzeugen (siehe Kapitel 4.4). Die wichtigste Methode von TJAMSpamAssassin ist Scan (siehe Listing 5). Diese Methode kümmert sich darum, dass mehrere aufeinander folgende, durchzuführende Scans auf die gewünschte Anzahl von Threads, also hier Scanmethoden der DLL, verteilt werden. Durch das Property MAXUSE wird angegeben wie viele Threads gleichzeitig laufen dürfen. Ist dieser Wert zum

27 4 SPAMASSASSIN 21 Beispiel auf 3 gesetzt, werden nur die ersten drei Methoden aus der DLL benutzt. Sind mehr s zu scannen als MAXUSE erlaubt, werden die s wieder von vorne auf die Methoden aufgeteilt. Es erfolgt also eine Serialisierung auf eine Anzahl von Threads, die in MAXUSE gegeben ist. 1 function TJAMSpamAssassin. Scan ( amail : TIDMessage ) : WideString ; 2 var M a i l S t r i n g : WideString ; 3 strstream : TStringStream ; 4 begin 5 i f not assigned ( fspamassassin ) then exit ; 6 strstream := TStringStream. Create ( ) ; 7 try 8 amail. SaveToStream ( strstream ) ; 9 M a i l S t r i n g := strstream. DataString ; 10 f n e x t u s e :=( fmailcount mod fmaxuse ) ; 11 case f n e x t u s e of 12 0 : r e s u l t := fspamassassin. Scan0 ( M a i l S t r i n g ) ; 13 1 : r e s u l t := fspamassassin. Scan1 ( M a i l S t r i n g ) ; 14 // : r e s u l t := fspamassassin. Scan9 ( M a i l S t r i n g ) ; 16 end ; 17 Inc ( fmailcount ) 18 f i n a l l y 19 FreeAndNil ( strstream ) ; 20 end ; 21 end ; Listing 5: Die Scan Methode von TJAMSpamAssassin Die Klasse TJAMSpamTest repräsentiert einen Scan einer . Durch das Instantiieren dieser Klasse und das Aufrufen deren Scan-Methode ist das Ergebnis nach dem Scan in den Properties Score, Testhits und NewHeader verfügbar. In der alten Version von SpamAware wurden die Testhits, der Spamstatus und der erzielte Punktwert von SpamAware in den Kopf der einfügt. Da dies in der neuen Version nicht mehr geschehen soll, werden die Testhits nicht mehr übergeben, sondern nur noch der Punktwert und der neue Kopf der , dem durch SpamAssassin alle Informationen hinzugefügt wurden (siehe Kapitel 4.2). Zudem wurde eine statische Methode (Scor WithSpamAssassin) hinzugefügt, die das Erstellen von TJAMSpamTest übernimmt, um die Benutzung weiter zu erleichtern.

28 4 SPAMASSASSIN 22 TSpamAssassinConfigFile ist eine Klasse, die den Zugriff auf die Konfigurationsdatei von SpamAssassin ermöglicht. Standardmäßig erstellt diese Klasse, falls nicht schon vorhanden, einen Ordner.SpamAssassin mit der Datei user pref im Benutzerverzeichnis des aktuellen Benutzers. Der Pfad dieser Datei wird ebenfalls als Pfad für die automatische Whitelist und die Bayes-Filter Datenbankdateien für SpamAssassin angeben. Mit Hilfe von TSpamAssassinConfigFile ist es möglich die White- und Blacklist und die Optionen benutze Bayes Filter, automatisches lernen für Bayes und führe nur lokale Tests durch einfach zu ändern.

29 5 DIE VERSION 1.0 VON SPAMAWARE 23 5 Die Version 1.0 von SpamAware Die Version 1.0 von SpamAware ist im Rahmen der zuvor angefertigten Projektarbeit entstanden und bietet die Grundlage für diese Arbeit. Der Funktionsumfang der Version 1.0 beschränkte sich darauf, dass alle neuen E- Mails automatisch untersucht werden und man lediglich einen Ordner scannen lassen kann, der zuvor in den Optionen ausgewählt werden musste (siehe Abbildung 3). Die Optionen selbst boten nur das Einstellen des Schwellwertes, der Anzahl der Threads und ob eine im Betreff markiert oder in einen gewählten Ordner verschoben werden soll. Abbildung 3: Der Optionen Dialog von SpamAware 1.0 Durch die Benutzung des veralteten SpamAssassin (v2.6) war die Erkennungsrate für Spam insbesondere bei Viagra s nicht mit der jetzigen zu vergleichen. SpamAware selbst benutzt Redemption [Redemp], um auf manche Outlook Objekte zugreifen zu können. Redemption ermöglicht es so auf Outlook Objekten zu arbeiten, dass die Sicherheitsmeldung beim Zugriff auf manche Ob-

30 5 DIE VERSION 1.0 VON SPAMAWARE 24 jekte nicht erscheint. Außerdem bietet Redemption von Outlook abgeleitete Methoden und Objekte mit mehr Funktionen an. So liefert beispielsweise das NewMail Ereignis von Redemption gleich die mit, die das Ereignis ausgelöst hat. Die Struktur von SpamAware 1.0 ist in Abbildung 4 zu sehen. Einige dieser Klassen sind im Laufe dieser Arbeit nahezu gänzlich abgeändert worden (siehe Kapitel 7). Abbildung 4: Die Klassen von SpamAware 1.0

31 6 ERWEITERN VON SPAMAWARE 25 6 Erweitern von SpamAware Das Erweitern von SpamAware bestand nicht nur darin, die in der Aufgabenstellung verlangten Funktionen zu implementieren, sondern auch bestehende Methoden zu verfeinern und Fehler zu beseitigen. So wurde zum Beispiel die Bearbeitung der fertig untersuchten s aus dem Scanthread heraus genommen und in den Hauptthread verlagert. Dies war notwendig, da unter Outlook 2000 die Referenz, der , die mit in dem Scanthread übergeben wurde, nicht wieder dereferenziert wird. So bleibt die EXE Datei von Outlook 2000 im Speicher nachdem man es beendet hatte. Dieses Problem hätte laut MSDN [Msdn] durch Marshalling 17 gelöst werden können, jedoch wäre der Aufwand für Marshalling um ein vielfaches höher gewesen, als die von TThreadpool zur Verfügung stehende Methode Threadterminated zu implementieren. Der typischer Ablauf eines Scans beim Eintreffen einer neuen wird in Abbildung 5 gezeigt. 6.1 Die Black-/Whitelist Funktion Die Implementierung der Black- und Whitelist Funktion teilte sich in zwei Bereiche. Zum einen sollten die Listen in den Optionen editierbar sein, und zum anderen müssen deren Daten in die Konfigurationsdatei von SpamAssassin geschrieben werden und wieder herauslesbar sein. Der erste Teil ist dank der produktiven IDE von Delphi einfach zu realisieren (siehe Abbildung 6). Das Speichern und Lesen der Listen aus der Konfigurationsdatei übernimmt die Klasse TSpamAssassinConfigFile. Zum Lesen und Verarbeiten dient die Methode ParseCfgFile und deren Hilfsmethode getlistvalue. ParseCfgFile wird beim Laden der Konfigurationsdatei aufgerufen, sucht die gewünschten Werte in der Datei und weist diese den entsprechenden Variablen zu. Da diese beiden Methoden nichts weiter tun, als suchen und zuweisen von Strings innerhalb der Datei möchte ich hier nicht näher darauf eingehen. Hinzu kommt, dass diese recht schwer zu lesen sind, da ein Konstrukt wie ein Tokenizer 18 in Delphi nicht vorhanden ist und so das Suchen durch Auffinden der Positionen von Substrings geschehen muss. Die Komponente, welche die Listen in den Optionen darstellt, verwaltet die 17 Marshalling ist ein Mechanismus zum der Datenaustausch zwischen verschiedenen COM-Objekten 18 Tokenizer ist ein Objekt mit dessen Hilfe Inhalte von Strings leicht abgearbeitet werden können

32 6 ERWEITERN VON SPAMAWARE 26 Abbildung 5: Das Sequenzdiagramm beim Eintreffen einer

33 6 ERWEITERN VON SPAMAWARE 27 Abbildung 6: Die Whitelist des Optionen Dialogs Daten in einer StringList, die den Inhalt der StringList aus TSpamAssassin- ConfigFile übernehmen kann. So bezieht der Optionen Dialog seine Daten aus den Properties von TSpamAssassinConfigFile, die beim Erstellen des Optionen Dialoges immer neu aus der Konfigurationsdatei geladen werden.

34 6 ERWEITERN VON SPAMAWARE Menüpunkte zum Hinzufügen zu Blacklist / Whitelist Das Hinzufügen der Menüpunkte für Black- und Whitelist unterscheidet sich in keiner Weise von dem Hinzufügen der Knöpfe, die bereits in SpamAware 1.0 verwendet wurden (siehe Abbildung 7). Hierzu dient die Methode AddButton in der Unit OutlookUtils. Abbildung 7: Das Menü von SpamAware als Outlooktoolbar Beim Ausführen der Aktionen wird die Methode AddSelectionToList mit dem Parameter white=true oder white=false aufgerufen. Diese Methode ermittelt die aktuell selektierten s, erstellt eine Liste aus deren Absenderadressen, übergibt diese an die entsprechende Liste und verschiebt die s in den in den Optionen angegebenen Spamordner, falls Zur Blacklist geklickt wurde und in den Posteingang andernfalls. 6.2 Importieren von Adressbuchkontakten Im Falle des Importierens der Adressbuchkontakten, beziehungsweise deren -Adressen, auf die Whitelist, ist zu beachten, dass in Outlook Verteilerlisten im Adressbuch gespeichert werden. Somit ist eine Abfrage notwendig, die überprüft ob ein Eintrag ein Kontakt ist oder eine Verteilerliste (siehe Listing 6 Zeile 3). Ein in Verbindung mit einem Exchange-Server auftretendes Problem ist, dass Kontakte bei Benutzung eines Exchange-Servers nicht lokal, sondern auf dem Server gespeichert sind. Wird die -Adresse eines Kontaktes benötigt, muss zunächst die Referenz dorthin auflösen aufgelöst. Dazu wird die Methode ResolveExchangeAddress aufgerufen, die mit Hilfe von Redemption ein Empfängerobjekt erstellt und aus diesem die -Adresse ausliest.

35 6 ERWEITERN VON SPAMAWARE 29 1 item := c o n t a c t s. items. item ( i ) as ContactItem ; 2 /// check i f i t i s a r e a l c o n t a c t or contactgroup 3 i f not item. C l a s s =olcontact then continue ; 4 s a f e c o n t a c t. Item := item ; 5 // 1Address 6 addr:= s a f e C o n t a c t. 1Address ; 7 /// t r e a t case t h e c a n t a c t i s a exchange s e r v e r c o n t a c t 8 i f SafeContact. 1AddressType = EX then begin 9 addrtmp:= ResolveExchangeAddress ( addr ) ; 10 i f I s V a l i d A d d r e s s ( addrtmp ) then r e s u l t. add ( addrtmp ) ; 11 end // e n d i f 12 else i f I s V a l i d A d d r e s s ( addr ) then r e s u l t. Add( addr ) ; 13 //... 2Address and 3Address Listing 6: Auszug aus der Methode Get AddressesFromContacts aus OutlookUtils 6.3 Automatisches Aufnehmen von Empfängern eigener Mails in die Whitelist Das automatische Aufnehmen von -Adressen ausgehender s auf die Whitelist ist eine logische Funktion die sicherstellen soll, dass Antworten auf eigene s keinesfalls als Spam klassifiziert werden. Auf diese Weise wird ebenfalls eine so niedrige Punktzahl erzielen, dass eine Antwort auf die bei eingeschaltetem Bayes Filter (siehe Kapitel 4 gleich als gute gelernt wird. Um ausgehende s verarbeiten zu können, wurde das SentItem-Ereignis in selbiger Methode implementiert. Diese wird bei ausgehenden s aufgerufen. Von der so übergebenen werden die Empfänger extrahiert und falls nötig wiederum mit ResolveExchangeAddress aufgelöst. Anschließend werden die Adressen zur Whitelist hinzugefügt. Dies alles geschieht nur, wenn diese Funktion in den Optionen eingeschaltet wurde. 6.4 Die verschiedenen ScanModi Manchmal ist es sinnvoll die Möglichkeit zu haben s mehrfach nach Spam zu untersuchen (zum Beispiel zu Testzwecken, oder beim Erstellen von Regeln). Dies veranlasste, dass verschiedene Modi eingeführt werden sollten,

36 6 ERWEITERN VON SPAMAWARE 30 die dem Benutzer die Möglichkeit geben zu wählen, welche s untersucht werden. 1. alle s scannen, auch bereits untersuchte s : untersucht alle s. Ausgenommen sind s, die schon als gelesen markiert worden sind. 2. nur s, die noch nicht von SpamAssassin untersucht wurden : SpamAware trägt nach dem Untersuchen einer das Ergebnis nicht nur in den Kopf dieser ein (bzw. ersetzt den ganzen Kopf), sondern speichert die Testhits und die Punktzahl in einem CustomProperty der . Die Möglichkeit dies zu tun hängt vom Programm ab. Da Outlook diese Möglichkeit bietet wurde sie genutzt. So kann abgefragt werden, ob diese bereits von SpamAware untersucht wurde. 3. nur s, die noch nicht auf Spam untersucht wurden : Hier wird überprüft, ob im Kopf der zu untersuchenden die Phrase X-Spam-Status: vorkommt. Wenn dies der Fall ist, wird davon ausgegangen, dass diese s bereits einmal von SpamAware, oder einem anderen Anti-Spam Programm, welches auf SpamAssassin zurück greift, untersucht wurde. Die Entscheidung, ob die gewählte der drei Optionen zutrifft, wird von der Methode IsToScan in der zentralen Unit Plugin übernommen. Einstellbar ist dies über den Leistung Karteireiter im Optionen Dialog (siehe Abbildung 8) 6.5 Die Einbindung der Hilfedatei zur kontextsensitiven Hilfe Die heutigen modernen Programme verfügen fast alle über eine kontextsensitive Hilfe 19. So sollte auch SpamAware diese Möglichkeit bieten. Das Einbinden der kontextsensitiven Hilfe in ein Delphi Programm gestaltet sich so, dass die Komponenten, die von der Hilfe näher beschrieben werden sollen eine Nummer erhalten und diese Nummern sich (nicht sichtbar) in der Hilfedatei 19 wenn rechts oben im Fenster (neben dem Schließen Kreuz) das Fragezeichen angeklickt wird, verändert sich der Mauszeiger zu einem Fragezeichen und ein Hilfetext erscheint zu der Komponente des Fensters, die als nächstes angeklickt wird

37 6 ERWEITERN VON SPAMAWARE 31 Abbildung 8: Der Leistung Karteireiter im Optionen Dialog

38 6 ERWEITERN VON SPAMAWARE 32 wiederfinden. Diese Einträge in der Hilfedatei wurden mit Help&Manual 20 vorgenommen. So kann der HelpRouter, eine Delphi Komponente, der ausgewählten Komponente die passenden Zeilen der Hilfedatei zuordnen. 20 Help&Manual ist Programm zum komfortablem Erstellen von Hilfedateien verschiedener Formate [HeMa]

39 6 ERWEITERN VON SPAMAWARE Die Schlagwortliste für eine Wortbewertung Bei Benutzung eines Spamfilters ist es wünschenswert, Einfluss darauf nehmen zu können, was den Filter dazu bewegt s eher als Spam oder Ham zu bewerten. Eine Liste von Worten, deren Vorkommen in s diese eher aus Ham einstufen, ist gerade bei themenbezogenem Verkehr sinnvoll (zum Beispiel Produktnamen von Firmen). Da SpamAssassin diese Möglichkeit nicht bietet wurde eine Methode erstellt, welche dynamisch eine Regel für solche Worte erstellt. Diese Methode ist im folgenden Listing 7 zu sehen. 1 function ConvertStringToMultiWordRuleDef ( MultiWord : String ) : String ; 2 var ichar : I n t e g e r ; 3 begin 4 Result := /\b (? : ; 5 for ichar := 1 to Length( MultiWord ) do begin 6 I f ( MultiWord [ ichar ] = #10) AND ( ( MultiWord [ ichar 1] = #13)) then 7 begin 8 Result := Result + ; 9 continue ; 10 end ; 11 i f Ord( MultiWord [ ichar ] ) < 32 then continue ; 12 i f ( MultiWord [ ichar ] = ) AND ( Result [ Length( Result ) 1 ] = ) 13 then continue ; 14 Result := Result + QuoteRegExprMetaChars ( MultiWord [ ichar ] ) ; 15 end ; 16 Result := Result + )\ b/ i ; 17 end ; 18 // B e i s p i e l f ü r e i n e e r s t e l l e Regel : 19 { # WordRule w hite 20 body SP2E BodyWordWLRule 21 /\ b (? : T r e e s i z e SmartPOP2SMTP SpamAware FH Trier )\ b/ i 22 header SP2E HeaderWordWLRule S u b j e c t 23 = /\ b (? : T r e e s i z e SmartPOP2SMTP SpamAware FH Trier )\ b/ i 24 meta SP2E CompleteWordWLRule 25 ( SP2E HeaderWordWLRule SP2E BodyWordWLRule) 26 s c o r e SP2E CompleteWordWLRule } Listing 7: Diese Funktion erstellt eine Regel aus den in MultiWord übergebenen Wörtern

40 6 ERWEITERN VON SPAMAWARE Den aktuell angezeigten Ordner scannen Die Funktion den aktuell angezeigten Ordner nach Spam zu untersuchen, besteht darin, über den Explorer den aktuellen Ordner zu ermitteln und dessen Inhalt iterativ nach Spam zu untersuchen. Diese Funktion ist vor allem nach der ersten Installation von SpamAware interessant, wenn sich bereits eine Vielzahl von noch nicht untersuchten E- Mails in Ordnern befinden.

41 7 INTEGRATION IN OUTLOOK EXPRESS 35 7 Integration in Outlook Express Bei Outlook Express ist es im Gegensatz zu Outlook so, dass es keine Unterstützung für Plugins gibt. Zumindest ist dies seitens Microsoft so. Da allerdings Outlook Express zusammen mit Windows XP installiert und somit weit verbreitet ist, handelt es sich wohl um das meist eingesetzte Programm (zumindest im privaten Bereich). Daher gibt es viele Softwarehersteller, die die Unterstützung für Plugins in Outlook Express gerne nutzen würden. Nektra [Nkt] ist eine Firma, die eine API für Outlook Express entwickelt hat. Mit dieser API ist es möglich Zugriff auf Outlook Express zu erlangen und damit Plugins zu kreieren. Die so genannte OEAPI besteht aus vier DLL- Dateien, die für den Zugriff auf visuelle, interne und speichernde Komponenten sowie deren Ereignisse zuständig sind. Um diese Zugriffe zu erlangen muss eine EXE-Datei laufen. Diese EXE-Datei (der so genannte Launcher ) lädt eine der DLL-Dateien, die wiederum überwacht wann Outlook Express gestartet wird, um dann mittels Codeinjection 21 den anderen DLL-Dateien die Funktion zu ermöglichen. 7.1 Entwurf der Schnittstelle Ein wesentlicher Aspekt in diesem Teil der Arbeit war es, eine Schnittstelle zu erstellen und zu implementieren, die es ermöglicht, später auf einfache Art weitere Programme zu unterstützen. Diese Schnittstelle sollte alle nötigen Methoden enthalten, um die jetzige, in Outlook vorhandene, Funktionalität beizubehalten und diese auf Outlook Express zu übertragen. Die Beziehungen der neuen und alten Klassen, beziehungsweise der abgeänderten Klassen sind in Abbildung 9 zu sehen. 7.2 Implementierung Damit das Plugin mit Outlook Express mitgeladen wird, muss ein Eintrag in der Registry von Windows erzeugt werden, welcher der DLL von OEA- PI das zu ladende Plugin angibt. Dieser Eintrag wird, wie auch der Eintrag für das Outlook-Plugin, von einer Registryfactory erzeugt. Diese Fabrik wird beim Registrieren der Plugin-DLL aufgerufen. Da das Plugin idealerweise 21 Ein Verfahren bei dem einer fremden Anwendung eigener Programmcode unter geschoben wird. Dies geschieht meist während der Ausführung des Programms im Speicher.

42 7 INTEGRATION IN OUTLOOK EXPRESS 36 in der selben DLL implementiert werden soll, in der sich auch das Outlook Plugin befindet, muss die Methode AfterConstruction in TPlugin implementiert werden. Diese Methode wird beim Laden der DLL ausgeführt. Da dies ebenfalls beim Laden der DLL in Outlook geschieht, ist festzustellen, unter welcher Applikation die DLL gerade geladen wird, damit beim Laden von Outlook nicht die OEAPI Objekte kreiert werden. Dies wird mittels der Methode IsHostApp, wie sie in Listing 8 zu sehen ist, durchgeführt. IsHostApp ermittelt den Namen des laufenden Prozesses und vergleicht diesen mit dem übergebenen String. Ist dieser im Namen enthalten wird true zurück gegeben. 1 function TPlugin. IsHostApp ( f i l e n a m e : String ) : boolean ; 2 var hprocess : THandle ; 3 hmod : HMODULE; 4 cb : DWORD; 5 ModuleName : array [ ] of Char ; 6 begin 7 r e s u l t := f a l s e ; 8 hprocess := OpenProcess (PROCESS QUERY INFORMATION 9 or PROCESS VM READ, False, GetCurrentProcessId ) ; 10 i f ( hprocess <> 0) then begin 11 EnumProcessModules ( SizeOf (hmod), cb ) ; 12 GetModuleFilenameEx ( hprocess, hmod, ModuleName, SizeOf ( ModuleName ) ) ; 13 CloseHandle ( hprocess ) ; 14 end ; 15 i f AnsiContainsText ( ExtractFileName ( ModuleName ), f i l e n a m e ) 16 then r e s u l t := t r u e ; 17 end ; Listing 8: Die Methode IsHostApp aus Plugin Ist sichergestellt, dass in diesem Fall Outlook Express 22 der Hostprocess ist, dann wird das Objekt TOEAPIInit erzeugt. Dieses ermöglicht allen anderen Komponenten von OEAPI den Zugriff auf das Programm. Da für das Outlook Plugin ein extra Interface ( IDTExtensibility2 ) implementiert werden musste ist keine Sorge zu tragen, dass nicht benötigte Outlook Objekte erstellt werden, da dieses Interface von Outlook Express nicht aufgerufen wird. 22 Der Name der EXE Datei von Outlook Express ist msimn.exe

43 7 INTEGRATION IN OUTLOOK EXPRESS 37 Neben der von beiden Applikationen aufgerufenen Methode InitCommon, die alle gemeinsamen Komponenten 23 erzeugt, muss für OEAPI die Methode OnInitOEAPI implementiert werden, in der nun alle Outlook Express spezifischen Objekte erstellt werden. Hier galt es genau darauf zu achten, dass alle erstellten OEAPI Objekt wieder beim Entladen (Methode OnShutdownOEAPI ) zerstört werden, da sonst Outlook Express im Speicher bleibt. Zur Implementierung der Schnittstelle musste zunächst festgestellt werden, welche Methoden zum Zugriff auf das Programm nötig sind. So dienten, ausgegangen vom bestehenden Plugin, die Methoden, die direkt auf Outlook-Objekte zugreifen als Vorlage für das Interface. Zugriffe und Methodenaufrufe von Outlook-Objekten müssen nun durch eigene Methoden gekapselt werden. Die Übergabeparameter und Rückgabewerte sind jedoch untypisiert zu halten, da diese in anderen Programmen aus andere Typen bestehen. So ergaben sich fast alle Methoden der Schnittstelle PluginUtilsInterface wie sie in den Listings 9 bis 11 zu sehen sind. Im folgenden Listing 9 sind vor allem die Methoden zur Erstellung der Werkzeugleiste und deren Knöpfe zu sehen. 1 { 2 I n t e r f a c e to be implemented f o r a l l m a i l c l i e n t s to use SpamAware Harald Bin kle 4 } 5 unit P l u g i n U t i l s I n t e r f a c e ; 6 7 interface 8 uses OleServer, C l a s s e s, IdMessage ; 9 10 type 11 /// h o s t a p p i c a t i o n t y p e [ to be completed on new addins 12 THostApplication=(haOutlook, haoutlookexpress ) ; /// m a i l e v e n t procedure t y p e 15 TPlugMailEvent= 16 procedure ( ASender : TObject ; const amail : IDispatch ) of object ; 17 I P l u g i n U t i l s = 18 interface ( I I n t e r f a c e ) [ {A538CA07 056D 4137 BFCE 007AD5B5C5EA} ] /// g e t s t h e t y p e o f h o s t a p p l i c a t i o n 23 Das Menü und alle zum Scannen benötigten Objekte, z.b. TJAMSpamAssassin, TThreadpool

44 7 INTEGRATION IN OUTLOOK EXPRESS function GetHostApp : THostApplication ; /// Cleans up t h e s e s s i o n. Destroys a l l c r e a t e d o b j e c t s. 24 procedure CleanUp ; { 27 adds a t o o l b a r to he h o s t a p p l i c a t i o n app i n s t a n c e o f t h e h o s t a p p l i c a t i o n name name o f t o o l b a r t h e c r e a t e d t o o l b a r 31 } 32 function AddToolBar ( app : OleVariant ; name: String ) : OleVariant ; { 35 adds a menubutton to a t o o l b a r app i n s t a n c e o f h o s t a p p l i c a t i o n toolbarname name o f t h e t o o l b a r to add t h e nemubutton to menuname c a p t i o n o f t h e menubutton t h e c r e a t e d menubutton 40 } 41 function AddMenu( app : OleVariant ; toolbarname : String ; 42 menuname : String ) : OleVariant ; { 45 adds a b u t t o n to a t o o l b a r or menu parent a t o o l b a r or a menubutton to add t h e new b u t t o n c l i c k E v e n t procedure to be c a l l e d on b u t t o n c l i c k buttonname c a p t i o n o f t h e b u t t o n ButtonImageResourceName resourcename o f t h e bitmap 50 to be a s s i g n e d to t h e b u t t o n s e p a r a t e t r u e i f a s e p e a r t o r s h o u l d be c r e a t e d 52 a f t e r t h i s new b u t t o n t h e new b u t t o n 54 } 55 function AddButton ( parent : OleVariant ; ClickEvent : TNotifyEvent ; 56 ButtonName : String ; ButtonImageResourceName : String ; 57 s e p a r a t e : boolean ) : OleVariant ; { 60 s e t s a b u t t o n b u t t o n v i s i b l e or i n v i s i b l e b u t t o n b u t t o n to s e t t h i s p r o p e r t y

45 7 INTEGRATION IN OUTLOOK EXPRESS 39 v i s i b l e t r u e i f b u t t o n s h o u l d be v i s i b l e and f a l s e e l s e 63 } 64 procedure S e t B u t t o n V i s i b l e ( button : OleVariant ; v i s i b l e : boolean ) ; Listing 9: Die Schnittstelle des Plugin zu den Programmen Das nun anschließende Listing 10 zeigt die Methoden für Zugriffe auf s und Ordner. 1 { 2 moves a mail from i t s c u r r e n t f o l d e r to a d e s t i n a t i o n f o l d e r mailid i d o f t h e mail to be moved DestFolderID i d o f f o l d e r t h e mail s h o u l d be moved to 5 } 6 procedure Mov ( MailID : WideString ; DestFolderID : WideString ) ; 7 8 { 9 d i s p l a y s a d i a l o g to choose a f o l d e r DESCRIPTION 11 } 12 function PickFolder : OleVariant ; { 15 c o n v e r t s mail to TIDMessage 16 by p a s s i n g only t h e h e a d e r f i e l d s and t h e body. 17 The o r i g i n a l mail i s not canged. copy o f t h e mail as IDMessage 19 } 20 function ConvertMail ( const Mail : OleVariant ) : TIdMessage ; { 23 g e t s t h e c u r r e n t s e l e c t e d and d i s p l a y e d f o l d e r DESCRIPTION 25 } 26 function GetActiveFolder : OleVariant ; { 29 r e t u r n s t h e standard i n f o l d e r DESCRIPTION 31 } 32 function GetDefaultInboxFolder : OleVariant ; {

46 7 INTEGRATION IN OUTLOOK EXPRESS r e t u r n s t h e standard f o l d e r o f d e l e t e d items ( mails ) DESCRIPTION 37 } 38 function GetDefaultDeletedItemsFolder : OleVariant ; { 41 r e t u r n s t h e standard j u n k m a i l f o l d e r. 42 I f t h i s f o l d e r does not e x i s t i t r e t u r n t h e s t a n d a r t f o l d e r o f 43 d e l e t e d items DESCRIPTION 45 } 46 function GetDefaultJunkFolder : OleVariant ; { 49 g e t s t h e ID o f a f o l d e r f o l d e r f o l d e r to g e t t h e ID from Id o f t h e f o l d e r 52 } 53 function GetFolderID ( f o l d e r : OleVariant ) : WideString ; { 56 g e t s a f o l d e r by i t s ID This method uses Redemption! EntryID f o l d e r I D f o l d e r 60 } 61 function GetFolderFromID ( EntryID : WideString ) : OleVariant ; { 64 g e t s t h e f i r s t mail in t h e g i v e n f o l d e r f o l d e r f o l d e r to g e t t h e mail from r e s u l t f i r s t mail from f o l d e r 67 } 68 function GetFirstMail ( f o l d e r : OleVariant ) : OleVariant ; // use t h e s e two methods to i t e r a d e through mails in a f o l d e r { 73 g e t s t h e next mail from t h e g i v e n f o l d e r. Attention, 74 b e f o r e you c a l l t h i s method f o r t h e f i r s t time f o r 75 a f o d l e r GetFirstMail has p r i v i o u s l y to be c a l l e d.

47 7 INTEGRATION IN OUTLOOK EXPRESS 41 f o l d e r f o l d e r to g e t t h e mail from mail 78 } 79 function GetNextMail ( f o l d e r : OleVariant ) : O l e v a r i a n t ; { 82 g e t t h e s t a t u s i f a mail i s read or unread mail mail to be examined f o r read s t a t u s t r u e i f mail i s read, f a l s e i f i t i s unread 85 } 86 function IsMailRead ( mail : OleVariant ) : boolean ; { 89 s e t s a mail as read or unread mail t h e mail to be marked as read read i s t r u e t h e mail w i l l be marked as read, 92 i f f a l s e as unread 93 } 94 procedure SetMailRead ( mail : OleVariant ; read : boolean ) ; { 97 r e t u r n s t h e complete header o f a mail by a c c e s s i n g i t s h e a d e r f i e l s. complete header o f t h i s mail 99 } 100 function GetMailHeader ( const Mail : OleVariant ) : WideString ; { 103 S e t s a new header to a mail. amail mail Header new mail header 106 } 107 procedure SetMailHeader ( var Mail : OleVariant ; Header : WideString ) ; { 110 D e t e c t s i f t h e header o f a mail i s mepty. 111 I n t r a n e t Mails d e l i v e r e d by 112 MS Excange Server have empty headers t r u e i f t h e header i s empty 114 } 115 function EmptyHeader ( const Mail : OleVariant ) : boolean ; 116

48 7 INTEGRATION IN OUTLOOK EXPRESS { 118 g e t a mail by i t s ID mailid Id o f t h e mail be r e t r i e v e d r e s u l t mail b e l o n g i n g to t h e ID 121 } 122 function GetMailFromID ( MailID : WideString ) : OleVariant ; { 125 g e t s t h e ID o f a mail mail mail to g e t t h e ID from r e s u l t Id o f t h e mail 128 } 129 function GetMailID ( Mail : OleVariant ) : WideString ; { 132 g e t s t h e s u b j e c t o f a mail mail mail to g e t t h e s u b j e c t from r e s u l t s u b j e c t o f t h e mail 135 } 136 function GetMailSubject ( Mail : OleVariant ) : WideString ; { 139 s e t s t h e s u b j e c t o f a mail mail t h e mail to s e t t h e new s u b j e c t f o r s u b j e c t t h e s t r i n g to s e t as new s u b j e c t 142 } 143 procedure S e t M a i l S u b j e c t ( var Mail : OleVariant ; s u b j e c t : Widestring ) ; { 146 t e s t i f an Item i s a mail or not mail mail to be t e s t e d r e s u l t t r u e i f Item i s a mail 149 } 150 function IsMailItem ( Mail : OleVariant ) : boolean ; Listing 10: Die Schnittstelle des Plugin zu den Programmen

49 7 INTEGRATION IN OUTLOOK EXPRESS 43 Nachfolgend ist das Listing 11 zu sehen. In diesem sind unter anderem auch Methoden beschrieben, die auf s zugreifen. Jedoch dienen diese Methoden ausschließlich dem Zugriff auf -Adressen für die Blackbeziehungsweise Whitelist. 1 { 2 g e t s t h e e m a i l a d d r s s e s from t h e c u r r e n t addressbook r e s u l t l i s t o f m a i l a d d r e s s e s 4 } 5 function Get AddressesFromContacts : TStrings ; 6 7 { 8 g e t s t h e sender o f a mail mail t h e mail to g e t sender from r e s u l t m a i l a d d r e s s o f t h e sender 11 } 12 function GetSender ( const mail : OleVariant ) : WideString ; { 15 g e t s t h e r e c i p i e n t s o f a mail mail mail to g e t t h e r e c i p i e n t s from r e s u l t l i s t o f m a i l a d d r e s s e s o f t h e r e c i p i e n t s 18 } 19 function G e t R e c i p i e n t s ( const mail : OleVariant ) : TStrings ; { 22 g e t s a s t r i n g l i s t o f t h e c u r r e n t s e l e c t e d mails 24 } 25 function G e t S e l e c t e d M a i l s : T S t r i n g L i s t ; { 28 g e t s t h e user p r o p e r t y from t h e mail Mail mail to g e t t h e p r o p e r t y from Name name o f t h e u s e r p r o p e r t y to g e t p r o p e r t y c o n t e n t 32 } 33 function GetUserProperty ( const Mail : OleVariant ; Name: String ) : String ; { 36 s e t s a user p r o p e r t y to t h e mail Mail mail to s e t t h e p r o p e r t y to

50 7 INTEGRATION IN OUTLOOK EXPRESS 44 Name name o f t h e u s e r p r o p e r t y contant t h e c o n t e n t to s e t as p r o p e r t y 40 } 41 procedure SetUserProperty ( const Mail : OleVariant ; Name: String ; 42 Content : String ) ; /// g e t t e r f o r OnNewMailEvent 45 function GetOnNewMail : TPlugMailEvent ; 46 /// s e t t e r f o r OnNewMailEvent 47 procedure SetOnNewMail ( event : TPlugMailEvent ) ; 48 /// g e t t e r f o r OnSendMailEvent 49 function GetOnSendMail : TPlugMailEvent ; 50 /// s e t t e r f o r OnSenDMailEvent 51 procedure SetOnSendMail ( event : TPlugMailEvent ) ; { 54 r e t u r n s t h e o b j e c t r e p r e s e n t i n g t h e h o s t a p p l o c a t i o n. API connection o b j e c t 56 } 57 function GetApplication : IDispatch ; /// c a l l s GetApplication 60 property A p p l i c a t i o n : IDispatch read GetApplication ; /// Accesses t h e s e n t mail event o f t h e h o s t a p p l i c a t i o n. 64 property OnSendMail : TPlugMailEvent read GetOnSendMail 65 write SetOnSendMail ; /// Accesses t h e new mail event o f t h e h o s t a p p l i c a t i o n. 68 property OnNewMail : TPlugMailEvent read GetOnNewMail 69 write SetOnNewMail ; /// g e t t h e h o s t a p p l i c a t i o n t y p e 72 property HostApp : THostApplication read GetHostApp ; 73 end ; { 76 checks in a simple way i f a m a i l address i s v a l i d addr m a i l a d d r e s s to be checked r e s u l t t r u e i f address i s assumed to be v a l i d

51 7 INTEGRATION IN OUTLOOK EXPRESS } 80 function I s V a l i d A d d r e s s ( addr : WideString ) : boolean ; implementation function I s V a l i d A d d r e s s ( addr : WideString ) : boolean ; 85 begin 86 r e s u l t addr ) ) and (0<>Pos(., addr ) ) and (6<length ( addr ) ) ) ; 87 end ; 88 end. Listing 11: Die Schnittstelle des Plugin zu den Programmen Das Füllen der Methoden erwies sich zunächst durch die Benutzung von OEAPI als ungewohnt. Die folgenden Listings 12 und 13 dienen als typische Repräsentanten der Nutzungsweise von OEAPI. Im Listing 12 (Zeile 16) ist zu sehen, dass alle verwendeten Methoden von OEAPI nie einen erwarteten Rückgabewert besitzen. Die Methoden geben immer ein Handle 24 des Objektes zurück auf dem die Methoden aufgerufen werden. So sind alle erwünschten Rückgabewerte als out-variablen zu übergeben (in Zeile 16 der SubButton). Da viele Methoden untypisiert sein müssen, wird OleVariant 25 verwendet. Als Beispiel dient hier die Methode AddButton, die diesen Typ als Rückgabewert besitzt und so der Integer Wert des Pointers auf den Button zurück gegeben werden muss(siehe Listing 12 Zeile 20,27). 1 function TOEUtils. AddButton ( parent : OleVariant ; ClickEvent : TNotifyEvent ; 2 ButtonName, ButtonImageResourceName : String ; 3 s e p a r a t e A f t e r : boolean ) : OleVariant ; 4 var tmpbut, tmpsep : IOEButton ; 5 But, sep : TOEButton ; 6 bmp : TBitmap ; 7 t m p f i l e : TFilename ; 8 begin 9 bmp:=tbitmap. Create ; 10 try 11 t m p f i l e :=GetTempFilename ( JAMSA +IntToStr ( ftmpbmpfileindex)+. bmp ) ; 12 bmp. LoadFromResourceName ( HInstance, ButtonImageResourceName ) ; 13 bmp. SaveToFile ( t m p f i l e ) ; 24 Ein Handle ist ein Zeiger auf ein Windows Objekt 25 OleVariant ist ein Typ, der einen Zeiger in Form einer Integer Zahl enthält

52 7 INTEGRATION IN OUTLOOK EXPRESS ftmpbmplist. Add( t m p f i l e ) ; 15 try // t r y to c r e a t e b u t t o n as s u b b u t t o n 16 but :=TOEButton ( P o i n t e r ( I n t e g e r ( parent ) ) ) ; 17 but. CreateSubButton ( ButtonName, t m p f i l e,, tmpbut ) ; 18 But:= TOEButton. Create ( n i l ) ; 19 But. OnClick := ClickEvent ; 20 But. ConnectTo ( tmpbut ) ; 21 r e s u l t := I n t e g e r ( P o i n t e r ( But ) ) ; 22 f B u t t o n l i s t. Add( but ) ; 23 except // i f parent i s no b u t t o n c r e a t e as t o o l b a r b u t t o n 24 tmpbut := foetoolbar. CreateButton ( ButtonName, t m p f i l e, ) ; 25 But:= TOEButton. Create ( n i l ) ; 26 But. OnClick := ClickEvent ; 27 But. ConnectTo ( tmpbut ) ; 28 r e s u l t := I n t e g e r ( P o i n t e r ( But ) ) ; 29 f B u t t o n l i s t. Add( but ) ; 30 end ; // e x c e p t 31 f i n a l l y 32 FreeAndNil (bmp ) ; 33 Inc ( ftmpbmpfileindex ) ; 34 end ; // f i n a l l y 35 end ; Listing 12: Die Methode AddButton aus OutlookExpressUtils Weil es leider nicht zum Funktionsumfang von OEAPI gehört, Zugriff auf das Adressbuch von Outlook Express zu geben, ist NKTWAB zum Einsatz gekommen. NKTWAB ist ebenfalls eine DLL von Nektra [Nkt]. Diese erlaubt den Zugriff auf das Windows Adressbuch, welches von Outlook Express genutzt wird. Die Benutzung dieser DLL ist ähnlich der von OEAPI. Hier gibt es wiederum keine erwarteten Rückgabewerte, sondern die out-variablen, die als Parameter übergeben werden (siehe Listing 13 Zeile 9). 1 function TOEUtils. Get AddressesFromContacts : TStrings ; 2 var wab :TNKTWAB; 3 c o n t a c t : NKTWABContact ; 4 i, count : i n t e g e r ; 5 addr : String ; 6 begin 7 wab:=tnktwab. Create ( n i l ) ;

53 7 INTEGRATION IN OUTLOOK EXPRESS 47 8 r e s u l t := T S t r i n g L i s t. Create ; 9 wab. Count ( count ) ; 10 for i :=1 to count do begin 11 wab. GetItem ( i, c o n t a c t ) ; 12 addr:= ; 13 addr:= String ( c o n t a c t. 1Address ) ; 14 i f I s V a l i d A d d r e s s ( addr ) then r e s u l t. Add( addr ) ; 15 addr:= c o n t a c t. 2Address ; 16 i f I s V a l i d A d d r e s s ( addr ) then r e s u l t. Add( addr ) ; 17 addr:= c o n t a c t. 3Address ; 18 i f I s V a l i d A d d r e s s ( addr ) then r e s u l t. Add( addr ) ; 19 end ; 20 end ; Listing 13: Die Methode Get AddressesFromContacts aus OutlookExpressUtils

54 7 INTEGRATION IN OUTLOOK EXPRESS 48 Abbildung 9: Die Klassen im Überblick

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

PowerMover. Eine Zusatz-Anwendung für Outlook-PowerUser. Damit können eingehende E-Mails schneller verwaltet werden. Vasquez Systemlösungen

PowerMover. Eine Zusatz-Anwendung für Outlook-PowerUser. Damit können eingehende E-Mails schneller verwaltet werden. Vasquez Systemlösungen PowerMover Eine Zusatz-Anwendung für Outlook-PowerUser. Damit können eingehende E-Mails schneller verwaltet werden. PowerMover Seite 1/7 Inhaltsverzeichnis: 1 Beschreibung... 3 2 Funktionalität... 4 2.1

Mehr

Einrichten eines IMAP Kontos unter Outlook Express

Einrichten eines IMAP Kontos unter Outlook Express Einrichten eines IMAP Kontos unter Outlook Express Klicken Sie auf Start->Programme->Outlook Express Wählen Sie oben in der Leiste den Menüpunkt Extras Klicken Sie dann bitte auf Konten. Nun erscheint

Mehr

Spamfilter Einrichtung

Spamfilter Einrichtung Spamfilter Einrichtung Melden Sie sich in Ihrem Hosting Control Panel an. Klicken Sie in der Navigation links, im Menu "E-Mail", auf den Unterpunkt "Spam Filter". Bei dem Postfach, dessen Einstellungen

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt. Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten

Mehr

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Dokumentation Black- und Whitelists Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Inhalt INHALT 1 Kategorie Black- und Whitelists... 2 1.1 Was sind Black- und Whitelists?...

Mehr

INSTALLATION VON INSTANTRAILS 1.7

INSTALLATION VON INSTANTRAILS 1.7 INSTALLATION VON INSTANTRAILS 1.7 InstantRails 1.7 ist ein Paket, das Ruby, Rails, Apache, MySQL und andere Tools, z.b. phpmyadmin in vorkonfigurierter Form enthält. Das Paket muss in einem Verzeichnis

Mehr

Kurzanleitung zum Einrichten des fmail Outlook 2007 - Addin

Kurzanleitung zum Einrichten des fmail Outlook 2007 - Addin Kurzanleitung zum Einrichten des fmail Outlook 2007 - Addin Um sicher und bequem Nachrichten mit Outlook zu verwalten, muss der E-Mail Client passend zu unseren E-Mail Einstellungen konfiguriert sein.

Mehr

Bedienungsanleitung für den SecureCourier

Bedienungsanleitung für den SecureCourier Bedienungsanleitung für den SecureCourier Wo kann ich den SecureCourier nach der Installation auf meinem Computer finden? Den SecureCourier finden Sie dort, wo Sie mit Dateien umgehen und arbeiten. Bei

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

OutLook 2003 Konfiguration

OutLook 2003 Konfiguration OutLook 2003 Konfiguration Version: V0.1 Datum: 16.10.06 Ablage: ftp://ftp.clinch.ch/doku/outlook2003.pdf Autor: Manuel Magnin Änderungen: 16.10.06 MM.. Inhaltsverzeichnis: 1. OutLook 2003 Konfiguration

Mehr

Import des persönlichen Zertifikats in Outlook Express

Import des persönlichen Zertifikats in Outlook Express Import des persönlichen Zertifikats in Outlook Express 1.Installation des persönlichen Zertifikats 1.1 Voraussetzungen Damit Sie das persönliche Zertifikat auf Ihrem PC installieren können, benötigen

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000 Folgende Anleitung beschreibt, wie Sie ein bestehendes Postfach in Outlook Express, bzw. Microsoft Outlook bis Version 2000 einrichten können. 1. Öffnen Sie im Menü die Punkte Extras und anschließend Konten

Mehr

Aktivieren des Anti-SPAM Filters

Aktivieren des Anti-SPAM Filters Aktivieren des Anti-SPAM Filters Die Menge an Werbeemails die ohne Zustimmung des Empfängers versendet werden nimmt von Tag zu Tag zu. Diese SPAM-Mails / Junk Mails verursachen einen extrem hohen Zeitaufwand

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

Outlook - CommuniGate Pro Schnittstelle installieren. Outlook - Elemente freigeben. Outlook - Freigegebene Elemente öffnen

Outlook - CommuniGate Pro Schnittstelle installieren. Outlook - Elemente freigeben. Outlook - Freigegebene Elemente öffnen Microsoft Outlook 1 Nutzung der Groupware mit Microsoft Outlook 1.1 Outlook - CommuniGate Pro Schnittstelle installieren 4 1.2 Outlook - Elemente freigeben 11 1.3 Outlook - Freigegebene Elemente öffnen

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal

Mehr

Merkblatt «Solnet Spamfilter»

Merkblatt «Solnet Spamfilter» Merkblatt «Solnet Spamfilter» COMPU SOLOTH RN TERIA Der Schutz vor Spams ist bei jedem Provider anders gelöst. Hier ist nur das Vorgehen beim Provider Solnet erläutert. Nach dem Einlogen bei Solnet muss

Mehr

Lieber SPAMRobin -Kunde!

Lieber SPAMRobin -Kunde! Lieber SPAMRobin -Kunde! Wir freuen uns, dass Sie sich für SPAMRobin entschieden haben. Mit diesem Leitfaden möchten wir Ihnen die Kontoeinrichtung erleichtern und die Funktionen näher bringen. Bitte führen

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Installation/Einrichtung einer Datenbank für smalldms

Installation/Einrichtung einer Datenbank für smalldms Einleitung In den folgenden Seiten werden wir uns damit beschäftigen eine lokale Installation einer MySQL- Datenbank vorzunehmen, um auf dieser Datenbank smalldms aktivieren zu können. Wir werden das XAMPP-Paket

Mehr

Handbuch Groupware - Mailserver

Handbuch Groupware - Mailserver Handbuch Inhaltsverzeichnis 1. Einführung...3 2. Ordnerliste...3 2.1 E-Mail...3 2.2 Kalender...3 2.3 Kontakte...3 2.4 Dokumente...3 2.5 Aufgaben...3 2.6 Notizen...3 2.7 Gelöschte Objekte...3 3. Menüleiste...4

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt. Python Installation 1 Vorbereitung Diese Anleitung ist für Windows ausgelegt. 1.1 Download Python kann online unter https://www.python.org/downloads/ heruntergeladen werden. Hinweis: Im CoderDojo verwenden

Mehr

disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2

disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2 disk2vhd Wie sichere ich meine Daten von Windows XP? Inhalt Thema Seite Vorwort 1 Sichern der Festplatte 2 Einbinden der Sicherung als Laufwerk für Windows Vista & Windows 7 3 Einbinden der Sicherung als

Mehr

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Der Konfigurations-Assistent wurde entwickelt, um die unterschiedlichen ANTLOG-Anwendungen auf den verschiedensten Umgebungen automatisiert

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

TrekStor - ebook-reader 3.0 - TrekStor (TS) Edition - Firmware-Update

TrekStor - ebook-reader 3.0 - TrekStor (TS) Edition - Firmware-Update TrekStor - ebook-reader 3.0 - TrekStor (TS) Edition - Firmware-Update Es gibt mehrere Versionen der Software (Firmware), da es unterschiedliche Editionen des ebook-reader 3.0 gibt. Um zu überprüfen, welches

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung Nach dem Update auf die Version 1.70 bekommen Sie eine Fehlermeldung,

Mehr

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen Inhalt Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen 2.2 Installation von Office 2013 auf Ihrem privaten PC 2.3 Arbeiten mit den Microsoft

Mehr

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt 1. Vorbetrachtungen... 2 2. Die Installation... 2 3. Einstellungen - Erstellung der Verknüpfung... 3 3.1 Benutzung des Konfigurationsprogramms

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Anleitung zur Erstellung einer Batchdatei - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Mögliche Anwendungen für Batchdateien: - Mit jedem Systemstart vordefinierte Netzlaufwerke

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

Registrierung am Elterninformationssysytem: ClaXss Infoline

Registrierung am Elterninformationssysytem: ClaXss Infoline elektronisches ElternInformationsSystem (EIS) Klicken Sie auf das Logo oder geben Sie in Ihrem Browser folgende Adresse ein: https://kommunalersprien.schule-eltern.info/infoline/claxss Diese Anleitung

Mehr

E-Cinema Central. VPN-Client Installation

E-Cinema Central. VPN-Client Installation E-Cinema Central VPN-Client Installation Inhaltsverzeichnis Seite 1 Einleitung... 3 1.1 Über diese Anleitung... 3 1.2 Voraussetzungen... 3 1.3 Hilfeleistung... 3 2 Vorbereitung Installation... 4 3 Installation

Mehr

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011

.procmailrc HOWTO. zur Mailfilterung und Verteilung. Stand: 01.01.2011 .procmailrc HOWTO zur Mailfilterung und Verteilung Stand: 01.01.2011 Copyright 2002-2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können

Mehr

E-Mail-Versand an Galileo Kundenstamm. Galileo / Outlook

E-Mail-Versand an Galileo Kundenstamm. Galileo / Outlook E-Mail-Versand an Galileo Kundenstamm Galileo / Outlook 1 Grundsätzliches...1 2 Voraussetzung...1 3 Vorbereitung...2 3.1 E-Mail-Adressen exportieren 2 3.1.1 Ohne Filter 2 3.1.2 Mit Filter 2 4 Mail-Versand

Mehr

Anleitung zur Verwendung der VVW-Word-Vorlagen

Anleitung zur Verwendung der VVW-Word-Vorlagen Anleitung zur Verwendung der VVW-Word-Vorlagen v1.0. Feb-15 1 1 Vorwort Sehr geehrte Autorinnen und Autoren, wir haben für Sie eine Dokumentenvorlage für Microsoft Word entwickelt, um Ihnen die strukturierte

Mehr

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................

Mehr

Live Update (Auto Update)

Live Update (Auto Update) Live Update (Auto Update) Mit der Version 44.20.00 wurde moveit@iss+ um die Funktion des Live Updates (in anderen Programmen auch als Auto Update bekannt) für Programm Updates erweitert. Damit Sie auch

Mehr

Import des persönlichen Zertifikats in Outlook 2003

Import des persönlichen Zertifikats in Outlook 2003 Import des persönlichen Zertifikats in Outlook 2003 1. Installation des persönlichen Zertifikats 1.1 Voraussetzungen Damit Sie das persönliche Zertifikat auf Ihren PC installieren können, benötigen Sie:

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

Mehr

Quiz mit Google Docs erstellen

Quiz mit Google Docs erstellen IT-Coaching 2go von computertraining4you 1 Quiz mit Google Docs erstellen Mit Google Docs erstellt man ein tolles Quiz. Das Programm Hot Potatoes kann zwar die Reihenfolge der Fragen und Antworten mixen

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung Diese Anleitung hilft Ihnen, das nachfolgend geschilderte Problem zu beheben.

Mehr

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers Der neue Sony PRS-T1 ebook-reader ist nicht mehr mit dem Programm Adobe Digital Editions zu bedienen. Es sind daher einige Schritte

Mehr

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers

Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers Anleitung zur Installation und Nutzung des Sony PRS-T1 ebook Readers Der neue Sony PRS-T1 ebook-reader ist nicht mehr mit dem Programm Adobe Digital Editions zu bedienen. Es sind daher einige Schritte

Mehr

iphone-kontakte zu Exchange übertragen

iphone-kontakte zu Exchange übertragen iphone-kontakte zu Exchange übertragen Übertragen von iphone-kontakten in ein Exchange Postfach Zunächst muss das iphone an den Rechner, an dem es üblicherweise synchronisiert wird, angeschlossen werden.

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Wenn Sie eine Mail haben die in Ihren Augen kein SPAM. asspnotspam@dachau.net

Wenn Sie eine Mail haben die in Ihren Augen kein SPAM. asspnotspam@dachau.net Wissenswertes über SPAM Unter dem Begriff Spam versteht man ungewünschte Werbenachrichten, die per E-Mail versendet werden. Leider ist es inzwischen so, dass auf eine gewünschte Nachricht, oft zehn oder

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Newsletter. 1 Erzbistum Köln Newsletter

Newsletter. 1 Erzbistum Köln Newsletter Newsletter 1 Erzbistum Köln Newsletter Inhalt 1. Newsletter verwalten... 3 Schritt 1: Administration... 3 Schritt 2: Newsletter Verwaltung... 3 Schritt 3: Schaltflächen... 3 Schritt 3.1: Abonnenten Verwaltung...

Mehr

Anleitung zur Installation von Thunderbird

Anleitung zur Installation von Thunderbird Anleitung zur Installation von Thunderbird Download und Installation 1. Dieses Dokument behandelt die Installation von PGP mit Thunderbird unter Windows 7. Im Allgemeinen ist diese Dokumentation überall

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

Mehr

Ihre Internetadresse beim Versenden und Empfangen Ihrer E-Mails verwenden.

Ihre Internetadresse beim Versenden und Empfangen Ihrer E-Mails verwenden. Ihre Internetadresse beim Versenden und Empfangen Ihrer E-Mails verwenden. Verwenden Sie statt felix.muster@bluewin.ch wie die Profis Ihre Domain im E-Mail-Verkehr. Senden und empfangen Sie E-Mails auf

Mehr

Hochschulrechenzentrum. chschulrechenzentrum #96. Freie Universität Berlin

Hochschulrechenzentrum. chschulrechenzentrum #96. Freie Universität Berlin #96 Version 1 Konfiguration von Outlook 2010 Um Ihre E-Mails über den Mailserver der ZEDAT herunterzuladen oder zu versenden, können Sie das Programm Outlook 2010 verwenden. Die folgende Anleitung demonstriert

Mehr

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications Windows 8 Systemsteuerung > Programme > Windows Features aktivieren / deaktivieren > Im Verzeichnisbaum

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Persönliches Adressbuch

Persönliches Adressbuch Persönliches Adressbuch Persönliches Adressbuch Seite 1 Persönliches Adressbuch Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. ALLGEMEINE INFORMATIONEN ZUM PERSÖNLICHEN

Mehr

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Um mit IOS2000/DIALOG arbeiten zu können, benötigen Sie einen Webbrowser. Zurzeit unterstützen wir ausschließlich

Mehr

Wie benutzt man TortoiseSVN

Wie benutzt man TortoiseSVN Wie benutzt man TortoiseSVN 1 Inhaltsverzeichnis 1.Benötigte Vorkenntnisse...3 2.Benötigte Software...3 3.Schritt 1 Software installieren...3 4.Schritt 2 einen Ordner anlegen...3 5.Schritt 3 Projekt auschecken...4

Mehr

Kompatibilitätsmodus und UAC

Kompatibilitätsmodus und UAC STEITZ IT-Solutions Kompatibilitätsmodus und UAC Der nachfolgenden Artikel beschreibt, wie Sie die UAC (User Account Control = Benutzerkontensteuerung) für ausgewählte Anwendungen deaktivieren. Mit der

Mehr

TeamSpeak3 Einrichten

TeamSpeak3 Einrichten TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen

Mehr

Seite 20-21 Wo finde ich die Landingpage Auswahl? Seite 22-24 Wie aktiviere ich eine Landingpage? Seite

Seite 20-21 Wo finde ich die Landingpage Auswahl? Seite 22-24 Wie aktiviere ich eine Landingpage? Seite Gesamte Anleitung Dashboard Seite 2-3 Meine Kontakte Seite 4-5 Wie lege ich eine neue Gruppe an bzw. ändere den Namen? Seite 6-7 Wie lege ich einen neuen Kontakt an? Seite 8-9 Wie ordne ich Kunden einem

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Bedienungsanleitung. FarmPilot-Uploader

Bedienungsanleitung. FarmPilot-Uploader Bedienungsanleitung FarmPilot-Uploader Stand: V1.20110818 31302736-02 Lesen und beachten Sie diese Bedienungsanleitung. Bewahren Sie diese Bedienungsanleitung für künftige Verwendung auf. Impressum Dokument

Mehr

Neue Schriftarten installieren

Neue Schriftarten installieren .DIE Neue Schriftarten installieren Die Informationen zu jeder Schriftart (Font) sind in jeweils einer Datei untergebracht, der sog. Font-Datei mit der Endung.ttf ttf steht für True Type Font und bedeutet,

Mehr

Einrichten der Outlook-Synchronisation

Einrichten der Outlook-Synchronisation Das will ich auch wissen! - Kapitel 3 Einrichten der Outlook-Synchronisation Inhaltsverzeichnis Überblick über dieses Dokument... 2 Diese Kenntnisse möchten wir Ihnen vermitteln... 2 Diese Kenntnisse empfehlen

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

PowerMover. Ein halbautomatischer Sortierer für Outlook-PowerUser. Ein Add-In für die Versionen 2007 und 2010

PowerMover. Ein halbautomatischer Sortierer für Outlook-PowerUser. Ein Add-In für die Versionen 2007 und 2010 PowerMover Ein halbautomatischer Sortierer für Outlook-PowerUser. Ein Add-In für die Versionen 2007 und 2010 Inhaltsverzeichnis: 1 Einleitung... 2 2 Bedienung... 3 2.1 Outlook-Menü-Leiste... 3 2.2 Den

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

Autoresponder Unlimited 2.0

Autoresponder Unlimited 2.0 Anleitung zur Installation und Anwendung Autoresponder Unlimited 2.0 Anleitung zur Installation und Anwendung Wie Ihr Autoresponder Unlimited 2.0 funktioniert Den Autoresponder Unlimited 2.0 installieren

Mehr

Überprüfung der digital signierten E-Rechnung

Überprüfung der digital signierten E-Rechnung Überprüfung der digital signierten E-Rechnung Aufgrund des BMF-Erlasses vom Juli 2005 (BMF-010219/0183-IV/9/2005) gelten ab 01.01.2006 nur noch jene elektronischen Rechnungen als vorsteuerabzugspflichtig,

Mehr

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden

Agentur für Werbung & Internet. Schritt für Schritt: Newsletter mit WebEdition versenden Agentur für Werbung & Internet Schritt für Schritt: Newsletter mit WebEdition versenden E-Mail-Adresse im Control Panel einrichten Inhalt Vorwort 3 Einstellungen im Reiter «Eigenschaften» 4 Einstellungen

Mehr

(im Rahmen der Exchange-Server-Umstellung am 15.-17.04.2005)

(im Rahmen der Exchange-Server-Umstellung am 15.-17.04.2005) Outlook-Umstellung (im Rahmen der Exchange-Server-Umstellung am 15.-17.04.2005) Die Umstellung des Microsoft Mailserver-Systems ntmail (Exchange) erfordert vielfach auch eine Umkonfiguration des Programms

Mehr

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Step by Step Softwareverteilung unter Novell. von Christian Bartl Step by Step Softwareverteilung unter Novell von Softwareverteilung unter Novell 1) Starten von einfachen *.EXE-Dateien: Starten sie ConsoleOne Erstellen sie eine eigene Organisationseinheit für ihre Anwendungen

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

So richten Sie Outlook Express ein. Einrichten von Outlook Express (hier am Beispiel von Outlook Express 6) für den Empfang meiner E-Mails

So richten Sie Outlook Express ein. Einrichten von Outlook Express (hier am Beispiel von Outlook Express 6) für den Empfang meiner E-Mails Artikel-ID Produktkategorien Datum: 545 PowerWeb Pakete Premium Pakete WebVisitenkarte A / C / M 25.11.2004 So richten Sie Outlook Express ein Einrichten von Outlook Express (hier am Beispiel von Outlook

Mehr

Meine Welt auf einen Blick erleben.

Meine Welt auf einen Blick erleben. Daten- Synchronisation Sie haben Fragen? Hier finden Sie Antworten. Meine Welt auf einen Blick erleben. Die folgenden Anleitungen helfen Ihnen dabei Ihre vorhandenen Daten mit einem Windows Phone 7 weiter

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein Einrichtung von orgamax-mobil Um die App orgamax Heute auf Ihrem Smartphone nutzen zu können, ist eine einmalige Einrichtung auf Ihrem orgamax Rechner (bei Einzelplatz) oder Ihrem orgamax Server (Mehrplatz)

Mehr

DOKUMENTATION VOGELZUCHT 2015 PLUS

DOKUMENTATION VOGELZUCHT 2015 PLUS DOKUMENTATION VOGELZUCHT 2015 PLUS Vogelzucht2015 App für Geräte mit Android Betriebssystemen Läuft nur in Zusammenhang mit einer Vollversion vogelzucht2015 auf einem PC. Zusammenfassung: a. Mit der APP

Mehr

Wie installiere und richte ich die Sync-Plus Software auf einem PC mit Windows 7 und Outlook ein?

Wie installiere und richte ich die Sync-Plus Software auf einem PC mit Windows 7 und Outlook ein? Wie installiere und richte ich die Sync-Plus Software auf einem PC mit Windows 7 und Outlook ein? Wenn Sie Windows 7 nutzen und Outlook mit der TelekomCloud synchronisieren möchten, laden Sie die kostenlose

Mehr

Leitfaden zur Einrichtung za-mail mit IMAP auf dem iphone

Leitfaden zur Einrichtung za-mail mit IMAP auf dem iphone Dieser Leitfaden zeigt die einzelnen Schritte der Konfiguration des iphones für die Abfrage von Emails bei der za-internet GmbH. Grundsätzlich gelten diese Schritte auch für andere Geräte, wie dem ipod

Mehr