De fleste e-poster som sendes i dag er MIME-formaterte (Multipupose Internet Mail Extensions). Dette gjør at e-poster kan sendes med ren tekst og rik tekst/HTML-versjoner, innebygde bilder og vedlegg. MIME-utvidelser kan legges til en melding i standard RFC/822-format slik at bakoverkompatibilitet oppnås med eldre e-postsystemer.
Trinn 1
Last inn innholdet i e-postmeldingen.
Dagens video
Steg 2
Sjekk "Content-Type"-overskriften. Hvis innholdstypen er flerdelt (dvs. "flerdelt/blandet", "flerdelt/alternativt" osv.) vil meldingen ha flere deler å analysere. Hvis innholdstypen er flerdelt, fortsett med trinnene nedenfor.
Trinn 3
Content-Type-overskriften skal inneholde en unik streng som brukes av koden som genererte MIME-meldingen for å angi MIME-delgrenser. Eksempel:
Innholdstype: flerdelt/blandet; boundary="part_c7161025_fe8a_45f4_83ef_6befcfa5d021"
Grensestrengen i dette tilfellet er "part_c7161025_fe8a_45f4_83ef_6befcfa5d021".
Trinn 4
Hver MIME-del vil bli atskilt med grensestrengen foran med to bindestreker ("--") på en tom linje. Du må skanne meldingen linje for linje og se etter delgrensene. All tekst i mellom grensene
unntatt den siste CR/LF er en del av den MIME-delen.Viktig: Den siste MIME-delen vil ende med grensestrengen etterfulgt av ytterligere to streker.
Eksempel:
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Første MIME-del.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Andre MIME-del
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Siste MIME-del.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021--
Trinn 5
Hver MIME-del må deretter analyseres. Formatet til hver MIME-del ligner på den originale RFC/822-formaterte meldingen. Den vil inneholde en serie med overskrifter, etterfulgt av en tom linje, deretter brødtekstdataene.
Trinn 6
En MIME-del kan selv være flerdelt, med sin egen "Content-Type"-overskrift og grensestreng. Koden din må parse MIME-deler rekursivt til den når undernodene.
Trinn 7
En MIME-del kan ganske enkelt være et binært vedlegg. I dette tilfellet vil en filnavn-overskrift vanligvis bli levert sammen med overføringskodingen. BASE64 er en populær kodingstype. I dette tilfellet må hele MIME-delen være BASE64-dekodet. Som et eksempel her er de første linjene i et vedlagt JPG-bilde:
=NextPart_003_01C755EF.43F2628D Innholdstype: image/jpeg; name="testimage.jpg" Content-Transfer-Encoding: base64 Content-Description: testimage.jpg Content-Disposition: attachment; filnavn="testbilde.jpg"
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMIABIMQ AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
Trinn 8
HTML-teksten til meldingen skal være i en MIME-seksjon med ContentType: Text/Html, inne i en ContentType: Multipart/Alternative MIME-seksjon.
Trinn 9
Klartekstteksten til meldingen skal være i en MIME-seksjon med ContentType: Text/plain, inne i en ContentType: Multipart/Alternative MIME-seksjon.
Ting du trenger
Kunnskap om et dataspråk (dvs. C++, C#, VB, etc).
Grunnleggende kunnskap om formatet til en RFC/822-formatert e-postmelding.
Tips
Se RFC 822 http://www.ietf.org/rfc/rfc0822.txt? nummer=822 og RFC 1341 http://www.ietf.org/rfc/rfc1341.txt? nummer=1341 for mer informasjon. Hvis du koder i C#, er et utmerket gratis bibliotek tilgjengelig på http://www.codeproject.com/csharp/mime_project.asp.