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 13. 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

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

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

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

p^db=`oj===pìééçêíáåñçêã~íáçå=

p^db=`oj===pìééçêíáåñçêã~íáçå= p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for

Mehr

Anti-Spam-Tools. Gliederung. Stefan Appenburg, René Marx, Michael Günther WS 2004/05

Anti-Spam-Tools. Gliederung. Stefan Appenburg, René Marx, Michael Günther WS 2004/05 Anti-Spam-Tools Stefan Appenburg, René Marx, Michael Günther WS 2004/05 1 Einleitung Anforderungen Spamcop Spampal Hidemail Outlook-Filter Gliederung 2 Einleitung Weltweit bieten mehr als 70 Hersteller

Mehr

MSXFORUM - Exchange Server 2003 > Konfiguration IMF2 "Intelligent Message Fi...

MSXFORUM - Exchange Server 2003 > Konfiguration IMF2 Intelligent Message Fi... Page 1 of 7 Konfiguration IMF2 "Intelligent Message Filter 2" Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 06.03.2006 Der Intelligent Message Filter 2 ist eine Weiterentwicklung des

Mehr

(c) 2003 by Lars Witter

(c) 2003 by Lars Witter Filtern von Spam-Mails direkt auf dem Server Von Lars Witter (Vorstand Mabi) Marburg, den 18.08.2003 Seit etwa 3 Monaten betreiben wir auf den Mabi-Mail-Servern eine Spamerkennungssoftware, der eingehende

Mehr

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren:

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren: Installationshinweise Z250I / Z270I Adapter IR USB Installation hints Z250I / Z270I Adapter IR USB 06/07 (Laden Sie den Treiber vom WEB, entpacken Sie ihn in ein leeres Verzeichnis und geben Sie dieses

Mehr

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse 1. Einführung 1.1 Eclipse Die Eclipse ist eine kostenlose integrierte Entwicklungsumgebung oder auch IDE genannt, (Abkürzung IDE, engl. Integrated development enviroment). Sie ist eine grafische Benutzeroberfläche

Mehr

Kurs-Dokumentation. Zentrum für Informatik ZFI AG. Anti-Spam mit SpamAssassin (LSAS-0412) -IT Ausbildung nach Mass

Kurs-Dokumentation. Zentrum für Informatik ZFI AG. Anti-Spam mit SpamAssassin (LSAS-0412) -IT Ausbildung nach Mass Zentrum für Informatik - Anti-Spam mit SpamAssassin (LSAS-0412) -IT... 1/6 Kurs-Dokumentation Zentrum für Informatik ZFI AG Anti-Spam mit SpamAssassin (LSAS-0412) -IT Ausbildung nach Mass http://www.zfi.ch/lsas-0412

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

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München Time CGI Version 1.5 Stand 04.12.2013 TimeMachine Dokument: time.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor Version Datum Kommentar

Mehr

Webmail. Anleitung für Ihr online E-Mail-Postfach. http://webmail.willytel.de

Webmail. Anleitung für Ihr online E-Mail-Postfach. http://webmail.willytel.de Webmail Anleitung für Ihr online E-Mail-Postfach http://webmail.willytel.de Inhalt: Inhalt:... 2 Übersicht:... 3 Menü:... 4 E-Mail:... 4 Funktionen:... 5 Auf neue Nachrichten überprüfen... 5 Neue Nachricht

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

Was müssen Sie tun und beachten um unsere emails zu erhalten?

Was müssen Sie tun und beachten um unsere emails zu erhalten? Was müssen Sie tun und beachten um unsere emails zu erhalten? Punkt A - Eintragung / Anmeldung 1. Achten Sie darauf wenn Sie sich eintragen, daß Sie eine gültige E-mail Adresse verwenden. 2. Rufen Sie

Mehr

KONFIGURATION DES MOZILLA E-MAIL CLIENT

KONFIGURATION DES MOZILLA E-MAIL CLIENT KONFIGURATION DES MOZILLA E-MAIL CLIENT Copyright 2004 by 2 ways - media & design, Inh. Lars Plessmann, Paulinenstr. 12, D-70178 Stuttgart. http://www.2-ways.de Lars.Plessmann@2-ways.de Der Mozilla Email

Mehr

Anleitung. E-Mail Spam Filter mit Quarantäne Eine kurze Funktionsübersicht. Internet- & Netzwerk-Services

Anleitung. E-Mail Spam Filter mit Quarantäne Eine kurze Funktionsübersicht. Internet- & Netzwerk-Services Anleitung E-Mail Spam Filter mit Quarantäne Internet- & Netzwerk-Services 1. Anmeldung Die Anmeldung erfolgt über: http://mailadmin.tbits.net Jeder Benutzer meldet sich mit der E-Mail-Adresse als Benutzername

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

Technische Dokumentation SEPPmail Outlook Add-In v1.5.3

Technische Dokumentation SEPPmail Outlook Add-In v1.5.3 Technische Dokumentation SEPPmail Outlook Add-In v1.5.3 In diesem Dokument wird dargelegt, wie das SEPPmail Outlook Add-in funktioniert, und welche Einstellungen vorgenommen werden können. Seite 2 Inhalt

Mehr

EH20Mail. Dokumentation EH20Mail. Copyright 2004 CWL Computer. Alle Rechte vorbehalten.

EH20Mail. Dokumentation EH20Mail. Copyright 2004 CWL Computer. Alle Rechte vorbehalten. EH20Mail Copyright 2004 CWL Computer. Alle Rechte vorbehalten. Alle Angaben zur vorliegenden Dokumentation wurden sorgfältig erarbeitet, erfolgen jedoch ohne Gewähr. CWL Computer behält sich das Recht

Mehr

bnsyncservice Installation und Konfiguration bnnetserverdienst Voraussetzungen: KWP Informationssysteme GmbH Technische Dokumentation

bnsyncservice Installation und Konfiguration bnnetserverdienst Voraussetzungen: KWP Informationssysteme GmbH Technische Dokumentation bnsyncservice Voraussetzungen: Tobit DAVID Version 12, DVWIN32: 12.00a.4147, DVAPI: 12.00a.0363 Exchange Server (Microsoft Online Services) Grundsätzlich wird von Seiten KWP ausschließlich die CLOUD-Lösung

Mehr

Das Brennercom Webmail

Das Brennercom Webmail Das Brennercom Webmail Webmail-Zugang Das Webmail Brennercom ermöglicht Ihnen einen weltweiten Zugriff auf Ihre E-Mails. Um in Ihre Webmail einzusteigen, öffnen Sie bitte unsere Startseite www.brennercom.it

Mehr

ReadMe zur Installation der BRICKware for Windows, Version 6.1.2. ReadMe on Installing BRICKware for Windows, Version 6.1.2

ReadMe zur Installation der BRICKware for Windows, Version 6.1.2. ReadMe on Installing BRICKware for Windows, Version 6.1.2 ReadMe zur Installation der BRICKware for Windows, Version 6.1.2 Seiten 2-4 ReadMe on Installing BRICKware for Windows, Version 6.1.2 Pages 5/6 BRICKware for Windows ReadMe 1 1 BRICKware for Windows, Version

Mehr

BS-Anzeigen 3. Handbuch für das Zusatzmodul modazs Import von Anzeigen aus der Anzeigenschleuder

BS-Anzeigen 3. Handbuch für das Zusatzmodul modazs Import von Anzeigen aus der Anzeigenschleuder BS-Anzeigen 3 Handbuch für das Zusatzmodul modazs Import von Anzeigen aus der Anzeigenschleuder Inhaltsverzeichnis Anwendungsbereich... 3 Betroffene Softwareversion... 3 Anzeigenschleuder.com... 3 Anmeldung...

Mehr

2 INSTALLATION DES SMS4OL-CLIENT

2 INSTALLATION DES SMS4OL-CLIENT Benutzerhandbuch Inhaltsverzeichnis INHALTSVERZEICHNIS 2 1 VORWORT 3 2 INSTALLATION DES SMS4OL-CLIENT 4 2.1 Downloaden der Installationsdatei 4 2.2 Installation von SMS4OL 4 2.3 Registrierung 4 3 VERWENDUNG

Mehr

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates

RIWA NetUpdater Tool für automatische Daten- und Softwareupdates RIWA NetUpdater Tool für automatische Daten- und Softwareupdates Grundlegendes... 1 Ausführbare Dateien und Betriebsmodi... 2 netupdater.exe... 2 netstart.exe... 2 netconfig.exe... 2 nethash.exe... 2 Verzeichnisse...

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

Filterregeln... 1. Einführung... 1. Migration der bestehenden Filterregeln...1. Alle eingehenden Nachrichten weiterleiten...2

Filterregeln... 1. Einführung... 1. Migration der bestehenden Filterregeln...1. Alle eingehenden Nachrichten weiterleiten...2 Jörg Kapelle 15:19:08 Filterregeln Inhaltsverzeichnis Filterregeln... 1 Einführung... 1 Migration der bestehenden Filterregeln...1 Alle eingehenden Nachrichten weiterleiten...2 Abwesenheitsbenachrichtigung...2

Mehr

Beuth Hochschule JDK und TextPad WS14/15, S. 1

Beuth Hochschule JDK und TextPad WS14/15, S. 1 Beuth Hochschule JDK und TextPad WS14/15, S. 1 JDK und TextPad Der TextPad ist ein ziemlich ausgereifter Text-Editor, den man auch als einfache ("noch durchschaubare") Entwicklungsumgebung z.b. für Java-Programme

Mehr

Lenze OPC UA Kommunikation V1.0

Lenze OPC UA Kommunikation V1.0 Verwendete Komponenten: Lenze: 94xx: Highline FW 12 Easy Starter: 1.6 OPC UA Client: Softing OPC UA Client V1.2 Unified Automation UAexpert V1.2.2 175 Der Easy Starter verfügt ab der Version 1.6 über eine

Mehr

LERNWERKSTATT SEKUNDARSTUFE I

LERNWERKSTATT SEKUNDARSTUFE I LERNWERKSTATT SEKUNDARSTUFE I SOFTWAREVERTEILUNG DER LERNWERK- STATT SEKUNDARSTUFE I IM NETZWERK Die Lernwerkstatt Sekundarstufe I (LWS) unterstützt die automatische Software- Installation über den Windows

Mehr

RZ Benutzerversammlung

RZ Benutzerversammlung Benutzerversammlung 29.April 2004 Der GSF Spamfilter Reinhard Streubel Rechenzentrum Übersicht Einleitung: SPAM was ist das? Rechtliche Probleme Vorstellung des Spamfilters der GSF Konfiguration des Spamfilters

Mehr

telemail 2.5 Benutzerhandbuch

telemail 2.5 Benutzerhandbuch telemail 2.5 Benutzerhandbuch Seite 1 von 26 1. telemail-navigation 1.1 Datei 1.1.1 Beenden telemail wird beendet. 1.2 Bearbeiten 1.2.1 Alles markieren Alle E-Mails in dem aktuellen Ordner werden markiert.

Mehr

Einrichtung von Outlook 2000 und Import alter Emails

Einrichtung von Outlook 2000 und Import alter Emails Einrichtung von Outlook 2000 und Import alter Emails Voraussetzung: Sie haben vorher mit Outlook Express oder Outlook gearbeitet. Sie benutzen die Computer in den Computerpools der FH. Schritte: 1. Outlook

Mehr

ZMI Benutzerhandbuch Sophos. Sophos Virenscanner Benutzerhandbuch

ZMI Benutzerhandbuch Sophos. Sophos Virenscanner Benutzerhandbuch ZMI Benutzerhandbuch Sophos Sophos Virenscanner Benutzerhandbuch Version: 1.0 12.07.2007 Herausgeber Zentrum für Medien und IT ANSCHRIFT: HAUS-/ZUSTELLADRESSE: TELEFON: E-MAIL-ADRESSE: Zentrum für Medien

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

Installation Anleitung für JTheseus und MS SQL Server 2000

Installation Anleitung für JTheseus und MS SQL Server 2000 Installation Anleitung für JTheseus und MS SQL Server 2000 Inhaltsverzeichnis 1 Installation der Datenbank 3 1.1 Erstellen der Datenbank 3 1.2 Tabellen und Minimal Daten einlesen 4 1.3 Benutzer JTheseus

Mehr

Python SVN-Revision 12

Python SVN-Revision 12 Python SVN-Revision 12 Uwe Ziegenhagen 7. Januar 2012 Vorwort Dieses Skript erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Es wird geschrieben, um mir als Gedächtnisstütze für den Umgang

Mehr

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Windows Client Management AG Alte Haslenstrasse 5 CH-9053 Teufen wincm.ch 1 Quick Install - Scripting Framework Workplace...3

Mehr

SmarTeam MS Outlook Integration Version 3.1 Beschreibung des Funktionsumfangs

SmarTeam MS Outlook Integration Version 3.1 Beschreibung des Funktionsumfangs SmarTeam MS Outlook Integration Version 3.1 Beschreibung des Funktionsumfangs Der Aufbau der MS Outlook Integration orientiert sich stark an den SmarTeam Integrationen zu den MS Office Produkten, wobei

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

Einrichten eines MAPI- Kontos in MS Outlook 2003

Einrichten eines MAPI- Kontos in MS Outlook 2003 Einrichten eines MAPI- Kontos in MS Outlook 2003 Um mit dem E-Mail-Client von Outlook Ihr E-Mail Konto der Uni Bonn mit MAPI einzurichten, müssen Sie sich als erstes an den Postmaster wenden, um als MAPI-Berechtigter

Mehr

Whitepaper. Produkt: combit address manager. Faxen mit dem address manager. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit address manager. Faxen mit dem address manager. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit address manager Faxen mit dem address manager Faxen mit dem address manager - 2 - Inhalt Generelle Überlegung zum Faxen 3 Voraussetzungen

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

crypta.net email System Quickstart Guide für Benutzer

crypta.net email System Quickstart Guide für Benutzer crypta.net email System Quickstart Guide für Benutzer support@crypta.net, Version 20.11.2007 Inhaltsverzeichnis 1. Kurzübersicht...3 1.1. Zugriff auf Postfächer...3 1.2. Persönliche Einstellungen...3 1.3.

Mehr

MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29)

MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29) MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29) Dieses Dokument beschreibt das Herunterladen der Serversoftware, die Installation und Konfiguration der Software. Bevor mit der Migration der

Mehr

Autoresponder Unlimited 2.0

Autoresponder Unlimited 2.0 Autoresponder Unlimited 2.0 Anleitung zur Installation und Anwendung Copyright 2009 Wladimir Wendland www.wladimir-wendland.de Den Autoresponder Unlimited 2.0 installieren: 1) Software entpacken 2) Aktivierungsseite

Mehr

Softwareschnittstellen

Softwareschnittstellen P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung

Mehr

2 INSTALLATION DES SMS4OL-CLIENT

2 INSTALLATION DES SMS4OL-CLIENT Benutzerhandbuch Inhaltsverzeichnis INHALTSVERZEICHNIS 2 1 VORWORT 3 2 INSTALLATION DES SMS4OL-CLIENT 4 2.1 Downloaden der Installationsdatei 4 2.2 Installation von SMS4OL 4 2.3 Registrierung 4 3 VERWENDUNG

Mehr

Multivariate Tests mit Google Analytics

Multivariate Tests mit Google Analytics Table of Contents 1. Einleitung 2. Ziele festlegen 3. Einrichtung eines Multivariate Tests in Google Analytics 4. Das JavaScript 5. Die Auswertung der Ergebnisse Multivariate Tests mit Google Analytics

Mehr

Das beantragte persönliche Zertifikat wird standardmäßig in den Zertifikatspeicher des Browsers abgelegt, mit dem es beantragt wurde.

Das beantragte persönliche Zertifikat wird standardmäßig in den Zertifikatspeicher des Browsers abgelegt, mit dem es beantragt wurde. 1. Zertifikatsinstallation und Anbindung an das Mailkonto Das beantragte persönliche Zertifikat wird standardmäßig in den Zertifikatspeicher des Browsers abgelegt, mit dem es beantragt wurde. Hinweis:

Mehr

Kurzanleitung Installation der Zend Studio Sprachpakete

Kurzanleitung Installation der Zend Studio Sprachpakete Kurzanleitung Installation der Zend Studio Sprachpakete Von Zend Technologies, Inc. www.zend.com Installation Zend Studio Sprachpaket Wenn Ihre regionalen Einstellungen für Deutsch, Französisch oder Italienisch

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

Hello World in Java. Der Weg zum ersten Java-Programm

Hello World in Java. Der Weg zum ersten Java-Programm Vorwort Hello World in Java Der Weg zum ersten Java-Programm Diese Anleitung wurde unter Windows XP verfasst. Grundsätzlich sollte sie auch unter späteren Windows Versionen wie Windows Vista oder Windows

Mehr

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI

Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI Whitepaper 428-01 VCI - Virtual CAN Interface Einbindung in LabWindows/CVI The expert for industrial and automotive communication IXXAT Hauptsitz Geschäftsbereich USA IXXAT Automation GmbH IXXAT Inc. Leibnizstr.

Mehr

PrivaSphere Secure Messaging Outlook AddIn V.3.0.0 der Infover AG

PrivaSphere Secure Messaging Outlook AddIn V.3.0.0 der Infover AG PrivaSphere Secure Messaging Outlook AddIn V.3.0.0 der Infover AG Technische Dokumentation für Administratoren Das File Version_3.0.0.zip muss in ein Verzeichnis kopiert werden. Die folgenden Dateien werden

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

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

Einrichten des Follow Me -Drucksystems unter OS X

Einrichten des Follow Me -Drucksystems unter OS X Einrichten des Follow Me -Drucksystems unter OS X 1 Druckertreiber Herunterladen Von Hause aus bietet OS X keine Unterstützung für die professionellen Canon Drucker, welche hier an der Hochschule Albstadt-Sigmaringen

Mehr

OP 2005: Änderungen Mailimport

OP 2005: Änderungen Mailimport OP 2005: Änderungen Mailimport 02.01.2008 Dokumentation Original auf SharePoint Doku zu OP 2005 JT-Benutzerkonfiguration - EMail In dieser Registerkarte können Sie die E-Mail-Konfiguration, des Benutzers

Mehr

Anleitung zum Prüfen von WebDAV

Anleitung zum Prüfen von WebDAV Anleitung zum Prüfen von WebDAV (BDRS Version 8.010.006 oder höher) Dieses Merkblatt beschreibt, wie Sie Ihr System auf die Verwendung von WebDAV überprüfen können. 1. Was ist WebDAV? Bei der Nutzung des

Mehr

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

CRM114 als SpamAssassin-Plugin. Martin Schütte

CRM114 als SpamAssassin-Plugin. Martin Schütte CRM114 als SpamAssassin-Plugin Martin Schütte Inhalt CRM114 Installation Benutzung SpamAssassin-Plugin Einstellungen TODOs Amavis Und nochwas CRM114 Filtersprache zur Text-Klassifizierung verschiedene

Mehr

Dokumentation: Erste Schritte für Endkunden

Dokumentation: Erste Schritte für Endkunden pd-admin v4.x Dokumentation: Erste Schritte für Endkunden 2004-2007 Bradler & Krantz GmbH & Co. KG Kurt-Schumacher-Platz 9 44787 Bochum 1 Einleitung Diese Anleitung ist für Endkunden gedacht, die von Ihrem

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

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA VIVIT TQA Treffen in Köln am 18. 04. 2013 API- Programmierung und Nutzung bei HP Quality Center / ALM Michael Oestereich IT Consultant QA Agenda Vorstellung der API- Versionen OTA- API SA- API REST- API

Mehr

silent2msi Tamer Berber, 21.11.06

silent2msi Tamer Berber, 21.11.06 silent2msi Tamer Berber, 21.11.06 Inhaltsverzeichnis 1. So geht s mit silent2msi... 3 1.1. Was ist silent2msi?... 3 1.1.1. Komponenten im silent2msi... 3 2. Bereitstellen auf dem Server... 4 2.1. Auf den

Mehr

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien 3. Installation Ihres Shops im Internet / Kurzanleitung Kurzanleitung: Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien Geben Sie während der Webbasierten Installationsroutine alle

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

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

Inventarisierung von Exchange Alternativen für die Exchange-Inventarisierung

Inventarisierung von Exchange Alternativen für die Exchange-Inventarisierung Inventarisierung von Exchange Alternativen für die Exchange-Inventarisierung www.docusnap.com TITEL Inventarisierung von Exchange AUTOR Mohr Carsten DATUM 28.10.2015 VERSION 1.0 Die Weitergabe, sowie Vervielfältigung

Mehr

Inhaltsverzeichnis. Inhalt. 1 Anmelden 3. 2 E-Mail bearbeiten 4. 3 E-Mail erfassen/senden 5. 4 Neuer Ordner erstellen 6.

Inhaltsverzeichnis. Inhalt. 1 Anmelden 3. 2 E-Mail bearbeiten 4. 3 E-Mail erfassen/senden 5. 4 Neuer Ordner erstellen 6. Anleitung Webmail Inhaltsverzeichnis Inhalt 1 Anmelden 3 2 E-Mail bearbeiten 4 3 E-Mail erfassen/senden 5 4 Neuer Ordner erstellen 6 5 Adressbuch 7 6 Einstellungen 8 2/10 1. Anmelden Quickline Webmail

Mehr

Informationen zur Installation des GIS-Zentrum 2

Informationen zur Installation des GIS-Zentrum 2 Informationen zur Installation des GIS-Zentrum 2 Inhaltsverzeichnis: Inhaltsverzeichnis:... 1 Allgemeine Hinweise... 2 Installationsvoraussetzungen... 2 Was passiert bei der Installation?... 2 Einzelplatzinstallation...

Mehr

Proxmox Mail Gateway Spam Quarantäne Benutzerhandbuch

Proxmox Mail Gateway Spam Quarantäne Benutzerhandbuch Proxmox Mail Gateway Spam Quarantäne Benutzerhandbuch 12/20/2007 SpamQuarantine_Benutzerhandbuch-V1.1.doc Proxmox Server Solutions GmbH reserves the right to make changes to this document and to the products

Mehr

Virtualisierung mit Virtualbox

Virtualisierung mit Virtualbox Virtualisierung mit Virtualbox Dies ist kein Howto im herkömmlichen Sinne. Genaue Anleitungen für Virtualbox gibt es im Intenet genug. Zu empfehlen ist auch das jeweils aktuelle Handbuch von Virtualbox

Mehr

SPECTRUM 4.0 Netzwerk-Installation

SPECTRUM 4.0 Netzwerk-Installation SPECTRUM 4.0 Netzwerk-Installation Allgemeines zu SPECTRUM 4.0 - Lieferumfang - Lizenzrechner + CodeMeter-Stick - Programmversion - Einzelkomponenten - Begriffe Basisdaten, Projektverzeichnis 1. Einrichten

Mehr

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit List & Label 16 List & Label Windows Azure List & Label Windows Azure - 2 - Inhalt Softwarevoraussetzungen 3 Schritt 1: Neues Projekt

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

Handbuch zu AS Connect für Outlook

Handbuch zu AS Connect für Outlook Handbuch zu AS Connect für Outlook AS Connect für Outlook ist die schnelle, einfache Kommunikation zwischen Microsoft Outlook und der AS Datenbank LEISTUNG am BAU. AS Connect für Outlook Stand: 02.04.2013

Mehr

EXPANDIT. ExpandIT Client Control Kurzanleitung. utilities. be prepared speed up go mobile. Stand 14.11.07

EXPANDIT. ExpandIT Client Control Kurzanleitung. utilities. be prepared speed up go mobile. Stand 14.11.07 ExpandIT Client Control Kurzanleitung Stand 14.11.07 Inhaltsverzeichnis ExpandIT Client Control 3 Installationshinweise 3 System-Voraussetzungen 3 Installation 3 Programm starten 6 Programm konfigurieren

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr.

TimeMachine. Installation und Konfiguration. Version 1.4. Stand 21.11.2013. Dokument: install.odt. Berger EDV Service Tulbeckstr. Installation und Konfiguration Version 1.4 Stand 21.11.2013 TimeMachine Dokument: install.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor

Mehr

Cross Client 8.1. Installationshandbuch

Cross Client 8.1. Installationshandbuch Cross Client 8.1 Installationshandbuch Copyright 2010 Canto GmbH. Alle Rechte vorbehalten. Canto, das Canto Logo, das Cumulus Logo und Cumulus sind eingetragene Warenzeichen von Canto, registriert in Deutschland

Mehr

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Einführung in git Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Ben Oswald 27. April 2014 Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist git?..................................... 1 1.2 Warum sollten

Mehr

Addware Urlaubsmanager 3.22 Installations-Guide

Addware Urlaubsmanager 3.22 Installations-Guide Addware Urlaubsmanager 3.22 Installations-Guide Vorwort Vom Urlaubsplaner bis hin zur Personalverwaltung - der Addware UrlaubsManager 3.22 ist sehr vielseitig einsetzbar. Daher ist es oft anfangs unklar

Mehr

DPV Datenbankexport für eigene Auswertungen DBF nach Excel mit Filterung der Daten (über MSQuery)

DPV Datenbankexport für eigene Auswertungen DBF nach Excel mit Filterung der Daten (über MSQuery) DPV Datenbankexport für eigene Auswertungen DBF nach Excel mit Filterung der Daten (über MSQuery) Inhalt 1. Einrichten der OBDC-Schnittstelle... 2 1.1. Installation des Microsoft Visual FoxPro ODBC-Treibers...

Mehr

E-Mail-Verschlüsselung mit Geschäftspartnern

E-Mail-Verschlüsselung mit Geschäftspartnern E-Mail-Verschlüsselung mit (Anleitung für Geschäftspartner) Datum: 13.07.2011 Dokumentenart: Anwenderbeschreibung Version: 3.0 : Redaktionsteam PKI cio.siemens.com Inhaltsverzeichnis 1. Zweck des Dokumentes:...3

Mehr

Informationszentrum Hochschule Karlsruhe. Anleitung Plotter

Informationszentrum Hochschule Karlsruhe. Anleitung Plotter Informationszentrum Hochschule Karlsruhe Anleitung Plotter Inhaltsverzeichnis 1 Einführung 3 1.1 Begriffe..................................... 3 1.1.1 Plotserver................................ 3 1.1.2

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

Installation des edu- sharing Plug- Ins für Moodle

Installation des edu- sharing Plug- Ins für Moodle Installation des edu- sharing Plug- Ins für Moodle [edu-sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des edu-sharing Plug-Ins für das LMS Moodle.] edu- sharing / metaventis

Mehr

SWN-NetT Webmail. Benutzerhandbuch für SWN-NetT Webmail. SWN-NetT Webmail finden Sie unter: http://webmail.swn-nett.de

SWN-NetT Webmail. Benutzerhandbuch für SWN-NetT Webmail. SWN-NetT Webmail finden Sie unter: http://webmail.swn-nett.de SWN-NetT Webmail Benutzerhandbuch für SWN-NetT Webmail SWN-NetT Webmail finden Sie unter: http://webmail.swn-nett.de Übersicht Einstieg... 2 Menü... 2 E-Mail... 3 Funktionen... 4 Auf eine neue Nachricht

Mehr

Outlook-Umstellung. Inhalt. Änderungen an diesem Dokument

Outlook-Umstellung. Inhalt. Änderungen an diesem Dokument Outlook-Umstellung (im Rahmen der Exchange-Server-Umstellung am 15.-17.04.2005) Inhalt Outlook-Umstellung... 1 Inhalt... 1 Änderungen an diesem Dokument... 1 Einleitung... 2 Hilfe... 2 Automatische Umstellung...

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

telpho10 Hylafax Server

telpho10 Hylafax Server telpho10 Hylafax Server Version 2.6.1 Stand 02.07.2012 VORWORT... 2 NACHTRÄGLICHE INSTALLATION HYLAFAX SERVER... 3 HYLAFAX ENDGERÄT ANLEGEN... 5 HYLAFAX ENDGERÄT BEARBEITEN... 6 ALLGEMEIN... 6 HYLAFAX

Mehr

HiOPC Hirschmann Netzmanagement. Anforderungsformular für eine Lizenz. Order form for a license

HiOPC Hirschmann Netzmanagement. Anforderungsformular für eine Lizenz. Order form for a license HiOPC Hirschmann Netzmanagement Anforderungsformular für eine Lizenz Order form for a license Anforderungsformular für eine Lizenz Vielen Dank für Ihr Interesse an HiOPC, dem SNMP/OPC Gateway von Hirschmann

Mehr

Galileo Desktop Benutzerhandbuch Version 1.02

Galileo Desktop Benutzerhandbuch Version 1.02 Galileo Desktop Benutzerhandbuch Version 1.02 Galileo Deutschland GmbH. All rights reserved. Dieses Dokument enthält Informationen, an denen Galileo International Rechte besitzt. Dieses Dokument darf nur

Mehr

Apps-Entwicklung mit Netbeans

Apps-Entwicklung mit Netbeans JDroid mit Netbeans Seite 1 Apps-Entwicklung mit Netbeans Version 2.2, 30. April 2013 Vorbereitungen: 1. JDK SE neuste Version installieren, (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

SMARTtill Server mit Manager

SMARTtill Server mit Manager SMARTtill Server mit Manager Benutzerhandbuch 2014 Das Handbuch bezieht sich auf die Standardeinstellungen bei einer Pilotinstallation. Bei neuen Partnernprojekten sind Anpassungen zwingend notwendig und

Mehr

B4 Viper Connector Service Installationsanleitung Stand: 2013-07- 16

B4 Viper Connector Service Installationsanleitung Stand: 2013-07- 16 B4 Viper Connector Service Installationsanleitung Stand: 2013-07- 16 Inhalt 1 ALLGEMEINES... 2 2 INSTALLATION DES VIPER CONNECTOR SERVICE... 3 3 EINRICHTUNG DES TEILNEHMERACCOUNTS... 5 4 INSTALLATION DES

Mehr