Die meisten heute gesendeten E-Mails sind MIME-formatiert (Multipupose Internet Mail Extensions). Auf diese Weise können E-Mails mit Nur-Text- und Rich-Text-/HTML-Versionen, Inline-Bildern und Anhängen gesendet werden. MIME-Erweiterungen können einer Nachricht im Standardformat RFC/822 hinzugefügt werden, sodass die Abwärtskompatibilität mit älteren Mailsystemen erreicht wird.
Schritt 1
Laden Sie den Inhalt der E-Mail-Nachricht.
Video des Tages
Schritt 2
Überprüfen Sie die Kopfzeile "Content-Type". Wenn der Inhaltstyp mehrteilig ist (d. h. "multipart/mixed", "multipart/alternative" usw.), enthält die Nachricht mehrere zu analysierende Abschnitte. Wenn der Inhaltstyp mehrteilig ist, fahren Sie mit den folgenden Schritten fort.
Schritt 3
Der Content-Type-Header sollte eine eindeutige Zeichenfolge enthalten, die von dem Code verwendet wird, der die MIME-Nachricht generiert hat, um MIME-Teilgrenzen festzulegen. Beispiel:
Inhaltstyp: mehrteilig/gemischt; border="part_c7161025_fe8a_45f4_83ef_6befcfa5d021"
Die Begrenzungszeichenfolge ist in diesem Fall "part_c7161025_fe8a_45f4_83ef_6befcfa5d021".
Schritt 4
Jeder MIME-Teil wird durch die Begrenzungszeichenfolge getrennt, denen zwei Bindestriche ("--") in einer Leerzeile vorangestellt sind. Sie müssen die Meldung Zeile für Zeile scannen und nach den Teilegrenzen suchen. Alle Texte zwischen den Grenzen außer dem letzten CR/LF ist Teil dieses MIME-Teils.
Wichtig: Der letzte MIME-Teil endet mit der Begrenzungszeichenfolge, gefolgt von zwei weiteren Bindestrichen.
Beispiel:
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Erster MIME-Teil.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Zweiter MIME-Teil
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Letzter MIME-Teil.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021--
Schritt 5
Jeder MIME-Teil muss dann geparst werden. Das Format jedes MIME-Teils ähnelt der ursprünglichen RFC/822-formatierten Nachricht. Es enthält eine Reihe von Kopfzeilen, gefolgt von einer Leerzeile und dann die Textkörperdaten.
Schritt 6
Ein MIME-Teil kann selbst mehrteilig sein, mit eigenem "Content-Type"-Header und Begrenzungsstring. Ihr Code muss MIME-Teile rekursiv analysieren, bis er die untergeordneten Knoten erreicht.
Schritt 7
Ein MIME-Teil kann einfach ein binärer Anhang sein. In diesem Fall wird normalerweise ein Filename-Header zusammen mit der Übertragungscodierung geliefert. BASE64 ist ein beliebter Kodierungstyp. In diesem Fall muss der gesamte MIME-Teilkörper BASE64-dekodiert werden. Als Beispiel hier die ersten paar Zeilen eines angehängten JPG-Bildes:
=NextPart_003_01C755EF.43F2628D Inhaltstyp: Bild/jpeg; name="testimage.jpg" Content-Transfer-Encoding: base64 Content-Beschreibung: testimage.jpg Content-Disposition: Anhang; filename="testimage.jpg"
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyQj AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAgEDAwIEAwUFBAQA
Schritt 8
Der HTML-Text der Nachricht sollte sich in einem MIME-Abschnitt mit ContentType: Text/Html innerhalb eines ContentType: Multipart/Alternative MIME-Abschnitts befinden.
Schritt 9
Der Klartexttext der Nachricht sollte sich in einem MIME-Abschnitt mit ContentType: Text/plain innerhalb eines ContentType: Multipart/Alternative MIME-Abschnitts befinden.
Dinge, die du brauchen wirst
Kenntnisse in einer Computersprache (d. h. C++, C#, VB usw.).
Grundkenntnisse des Formats einer RFC/822-formatierten E-Mail-Nachricht.
Spitze
Konsultieren Sie RFC 822 http://www.ietf.org/rfc/rfc0822.txt? Zahl=822 und RFC 1341 http://www.ietf.org/rfc/rfc1341.txt? Nummer=1341 für mehr Informationen. Wenn Sie in C# codieren, ist eine ausgezeichnete kostenlose Bibliothek verfügbar unter http://www.codeproject.com/csharp/mime_project.asp.