Väčšina dnes odosielaných e-mailov má formát MIME (Multipupose Internet Mail Extensions). To umožňuje odosielať e-maily s obyčajným textom a verziami vo formáte RTF/HTML, vloženými obrázkami a prílohami. Rozšírenia MIME je možné pridať do správy v štandardnom formáte RFC/822, čím sa dosiahne spätná kompatibilita so staršími poštovými systémami.
Krok 1
Načítajte obsah e-mailovej správy.
Video dňa
Krok 2
Skontrolujte hlavičku „Typ obsahu“. Ak je typ obsahu viacdielny (t. j. „multipart/mixed“, „multipart/alternative“ atď.), správa bude mať viacero sekcií na analýzu. Ak je typ obsahu viacdielny, pokračujte krokmi nižšie.
Krok 3
Hlavička Content-Type by mala obsahovať jedinečný reťazec používaný kódom, ktorý vygeneroval správu MIME, na označenie hraníc častí MIME. Príklad:
Typ obsahu: viacdielny/zmiešaný; boundary="part_c7161025_fe8a_45f4_83ef_6befcfa5d021"
Hraničný reťazec je v tomto prípade "part_c7161025_fe8a_45f4_83ef_6befcfa5d021".
Krok 4
Každá časť MIME bude oddelená hraničným reťazcom, pred ktorým budú dve pomlčky ("--") na prázdnom riadku. Budete musieť naskenovať správu riadok po riadku a hľadať hranice častí. Všetok text medzi okrajmi
okrem konečného CR/LF je súčasťou tejto časti MIME.Dôležité: Posledná časť MIME bude ukončená hraničným reťazcom, za ktorým budú nasledovať ďalšie dve pomlčky.
Príklad:
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Prvá časť MIME.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Druhá časť MIME
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Posledná časť MIME.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021--
Krok 5
Potom je potrebné analyzovať každú časť MIME. Formát každej časti MIME je podobný pôvodnej správe vo formáte RFC/822. Bude obsahovať sériu hlavičiek, za ktorými bude nasledovať prázdny riadok a potom údaje tela.
Krok 6
Časť MIME môže byť sama osebe viacdielna s vlastnou hlavičkou "Content-Type" a hraničným reťazcom. Váš kód musí rekurzívne analyzovať časti MIME, kým nedosiahne podradené uzly.
Krok 7
MIME časť môže byť jednoducho binárna príloha. V tomto prípade sa zvyčajne dodáva hlavička názvu súboru spolu s kódovaním prenosu. BASE64 je populárny typ kódovania. V tomto prípade musí byť celé telo časti MIME dekódované BASE64. Ako príklad uvádzame niekoľko prvých riadkov priloženého obrázka JPG:
=NextPart_003_01C755EF.43F2628D Content-Type: image/jpeg; name="testimage.jpg" Kódovanie prenosu obsahu: base64 Popis obsahu: testimage.jpg Dispozícia obsahu: príloha; filename="testimage.jpg"
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyQjMjIyMjIyQ AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
Krok 8
Telo HTML správy by malo byť v sekcii MIME s ContentType: Text/Html v sekcii ContentType: Multipart/Alternative MIME.
Krok 9
Telo správy v otvorenom texte by malo byť v sekcii MIME s ContentType: Text/plain, vo vnútri sekcie ContentType: Multipart/Alternative MIME.
Veci, ktoré budete potrebovať
Znalosť počítačového jazyka (t.j. C++, C#, VB atď.).
Základná znalosť formátu e-mailovej správy vo formáte RFC/822.
Tip
Pozrite si RFC 822 http://www.ietf.org/rfc/rfc0822.txt? číslo = 822 a RFC 1341 http://www.ietf.org/rfc/rfc1341.txt? číslo = 1341 Pre viac informácií. Ak kódujete v C#, na adrese je k dispozícii vynikajúca bezplatná knižnica http://www.codeproject.com/csharp/mime_project.asp.