Schreiben Sie jetzt Ihren eigenen eMail-Client. Die DLL beinhaltet alle Funktionen für das automatisch Codieren und Entcodieren von eMails. Per Funktionsaufruf erhalten Sie die wichtigsten Daten einer eMail (Absender, Betreff, Datum). Anlagen können optional automatisch in die entsprechenden Dateinamen extrahiert werden.01.08.01Ein Bericht von Dieter Otter
Was ist Decode/Encode-DLL?
Decode/Encode DLL ist eine Entwicklerkomponente, welche speziell für das Codieren und Decodieren von Dateien entwickelt wurde. Gerade was den heutigen EMail-Verkehr betrifft, so stellt man fest, daß die Mails und deren Dateianhänge mit den unterschiedlichsten Codierformaten versandt werden. Das ist ja auch alles halb wo wild, solange Sie nicht Ihren eigenen EMail-Client programmieren und genau diese verschiedenen und häufig verwendeten Verschlüsselungsverfahren kennen müssen.Wenn Sie jedoch eine eigene EMail Sende- und Empfangsfunktion in Ihrer Anwendung integrieren möchten, so ist Decode/Encode-DLL genau das richtige Tool für Sie.
Eher zufällig bin ich im Mai diesen Jahres auf die Decode/Encode-DLL Entwicklerkomponente gestossen, habe dann kurz den englischen Beschreibungstext "studiert" und musste feststellen, daß laut dieser Beschreibung alle meine Probleme bzgl. dem Codieren und Decodieren von Mailnachrichten gelöst sein würden.
Installation
Die Installation ist denkbar einfach. Nach dem Download entpacken Sie die gezippte Datei in ein Verzeichnis Ihrer Wahl und kopieren dann die DLL-Datei Decenc32.dll am besten in das Windows-/Systemverzeichnis. Die DLL braucht nicht registriert zu werden und steht sofort zum Einbinden in der eigenen Anwendung zur Verfügung.Handhabung
Im Installationsverzeichnis finden Sie u.a. auch Beispiele für das Verwenden der Decode/Encode DLL in Visual Basic Projekte. Das Demo-Projekt ist ziemlich einfach gehalten - bietet aber einen groben Überblick über die möglichen und unterstützen Funktionen. Die DLL wird nicht - wie es im Gegensatz zu ActiveX-DLL's der Fall ist - über Projekte - Verweise referenziert, sondern direkt über Deklarationen im Codeteil - also genau wie man es von den Windows-API Funktionen her kennt mit Declare Function "...". Alle DLL-Deklarationen befinden sich in einer BAS-Datei, welche einfach in die bestehende Anwendung eingefügt wird.Funktionen
Decode/Encode-DLL stellt nachfolgende Funktionen zur Verfügung. Alle Funktionen sind sehr leicht verständlich und erwarten nur ein paar wenige Parameter.Nachrichten-Empfang
- GetNumFilesToDecode: Ermitteln der Anzahl angehängter Dateien einer Mailnachricht
- DecodeFile: autom. Entschlüsseln und Speichern von Dateianlagen
- GetMessageText: Extrahieren des reinen Nachrichtentextes einer Mail (HTML und/oder Plaintext)
- GetMessageHeaderField: Funktion, um Teile des Nachrichten-Headers auszulesen (From, To, Subject, Date, Cc, Reply-To, Company)
- EncodeFile: Verschlüsseln von Dateianhängen (Base64)
- SplitFile: Aufteilen einer großen Datei in mehrere kleinere Einzeldateien
- ConcatenateRelated: Zusammenführen mehrere Einzeldateien in eine Gesamtdatei
- EncodeBuffer: String nach Base64/UUEncode/XXEncode verschlüsseln
- DecodeBuffer: String von Base64/UUEncode/XXEncode entschlüsseln
Ein kleines Anwendungsbeispiel
Im nachfolgenden möchte ich Ihnen ein kleines Anwendungsbeispiel zeigen, welches demonstriert, wie leicht mit der Decode/Encode-DLL-Komponente eine "rohe" EMail-Nachricht in alle relevanten Teile zerlegt werden kann.
Das EMail selbst wird vom Mailserver in folgender Form abgerufen:
Return-Path: <dieter@vbarchiv.de> Received: from mout02.kundenserver.de ([195.20.224.133]) by mailin05.sul.t-online.de with esmtp id 15Q9Wp-0lyU1wC; Fri, 27 Jul 2001 17:27:51 +0200 Received: from [195.20.224.204] (helo=mrvdom00.schlund.de) by mxng07.kundenserver.de with esmtp (Exim 3.22 #2) id 15Q9Wm-0000I2-00 for info@tools4vb.de; Fri, 27 Jul 2001 17:27:48 +0200 Received: from [217.4.252.74] (helo=pentium400) by mrvdom00.schlund.de with smtp (Exim 2.12 #2) id 15Q9Wl-0005Fk-00 for info@tools4vb.de; Fri, 27 Jul 2001 17:27:47 +0200 Message-ID: <000c01c116b0$a4063550$564afea9@pentium400%gt; From: "Dieter Otter" <dieter@vbarchiv.de> To: <info@tools4vb.de (Dieter)> Subject: Ein Test EMail per Outlook Date: Fri, 27 Jul 2001 17:27:25 +0200 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0009_01C116C1.673DFF20" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 This is a multi-part message in MIME format. ------=_NextPart_000_0009_01C116C1.673DFF20 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hallo Dieter, dies ist nur eine Testnachricht,=20 welche =FCber MS-Outlook versandt wurde. Viele Gr=FC=DFe, Dieter ------=_NextPart_000_0009_01C116C1.673DFF20 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=3DContent-Type content=3D"text/html; = charset=3Diso-8859-1"> <META content=3D"MSHTML 5.50.4134.600" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>Hallo Dieter,</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>dies ist nur eine = </FONT></DIV> <DIV><FONT face=3DArial size=3D2>Testnachricht, welche =FCber = <STRONG>MS-Outlook</STRONG> versandt=20 wurde.</FONT></DIV> <DIV><FONT face=3DArial size=3D2></FONT> </DIV> <DIV><FONT face=3DArial size=3D2>Viele Gr=FC=DFe,</FONT></DIV> <DIV><FONT face=3DArial size=3D2>Dieter</FONT></DIV> </BODY></HTML> ------=_NextPart_000_0009_01C116C1.673DFF20--
Wie Sie sehen, enthält die Nachricht einen Nachrichtenkopf (Header), den Nachrichtentext im PLAIN-Format, sowie anschließend noch im HTML-Format.
Mit Hilfe der Decode/Encode-DLL-Funktionen ermittelt Sie einfach und schnell folgende Nachrichten-Informationen:
' Absender der Nachricht strAbsender = DecEnc_HdrInfo(sInFile, DECENC_MSG_FROM) ' Empfänger der Nachricht strEmpfaenger = DecEnc_HdrInfo(sInFile, DECENC_MSG_TO) ' Nachrichten-Betreff strBetreff = DecEnc_HdrInfo(sInFile, DECENC_MSG_SUBJECT) ' Datum strDatum = DecEnc_HdrInfo(sInFile, DECENC_MSG_DATE_TIME_SENT)
' ---------------------------------------------- ' Hilfsfunktion Public Function DecEnc_HdrInfo(ByVal sInFile As String, _ ByVal DEC_MSG As Integer) As String Dim sFieldBuffer As String * 255 If GetMessageHeaderField(sInFile, sFieldBuffer, 255, _ DEC_MSG) = 1 Then DecEnc_HdrInfo = left(sFieldBuffer, InStr(1, sFieldBuffer, Chr$(0), 0) - 1) End If End Function
Den Nachrichtentext bekommen Sie über den Aufruf der Funktion GetMessageText. Der Text wird hierbei in der im 2. Parameter angegebenen Datei gespeichert.
Dim nRtn As Long nRtn = GetMessageText(sInFile, Pfad & "Message.txt")
Die Anzahl der einer Nachricht angehängten Anlagen erhalten Sie über die Funktion GetNumFilesToDecode. Mit der Funktion DecodeFile werden die einzelnen Dateianlagen extrahiert und auf die Festplatte abgespeichert.
Gesamteindruck
Decode/Encode-DLL hat mich von der ersten Minute an überzeugt. Die wirklich einfache Handhabung beim "Zerlegen" einer "rohen" EMail-Nachricht in alle relevanten Einzelteile geht schnell und zuverlässig vonstatten.
An dieser Stelle möchte ich auch den wirklich lobenswerten Support des Funduc-Software Teams loben! Meine Mail-Anfragen wurden umgehend und zur vollsten Zufriedenheit beantwortet. Kleinere Bugs, welche sich zu Beginn meiner Testphase noch in der Komponente befanden, wurden ebenfalls i.d.R. binnen 24 Stunden korrigiert und ich erhielt dann sofort die neueste Version per EMail zugestellt.
Mittlerweile setze ich die Decode/Encode-DLL in mehreren meiner Anwendungen ein und bin wirklich zufrieden.
Bewertung
DECODE/ENCODE-DLLS v2.4 | |
GESAMTWERTUNG | |
PREIS / LEISTUNG | gut |
Preis: | 58 US$ |
Weitere Infos unter: | http://www.funduc.com/decenc.htm |
nur 100 KB groß | |
leichte Handhabung | |
sehr schnell | |
hevorragender Support | |
Fazit
Decode/Encode-DLL sollte für all diejenigen zur ersten Wahl gehören, die in Ihren eigenen Anwendungen eine EMail-Empfangsfunktion integrieren müssen/möchten. Ein weiterer Pluspunkt ist, dass die Komponente keine weiteren abhängigen Komponenten benötigt!
Support
Wie bereits schon erwähnt leistet das Funduc-Software Team einen hervorragenden und schnellen Support - jedoch nur per EMail. Vorhandene Bugs werden sehr schnell behoben. Man sollte allerdings der englischen Sprache einigermaßen mächtig sein, da das in Kanada ansässige Unternehmen - wie die meisten amerikanischen und englischen Firmen auch - kein deutsch beherrschen.
Unterschiede Shareware- und Vollversion
Die Shareware-Version ist voll funktionsfähig, alle Funktionen können getestet werden - jedoch wird bei jedem Funktionsaufruf ein Hinweis eingeblendet. Registrierte Anwender der Vollversion erhalten ein Jahr lang alle Updates kostenlos und natürlich kostenlosen Support per EMail.
Kontakt