De flesta e-postmeddelanden som skickas idag är MIME-formaterade (Multipupose Internet Mail Extensions). Detta gör att e-postmeddelanden kan skickas med vanlig text och rich text/HTML-versioner, inline-bilder och bilagor. MIME-tillägg kan läggas till ett meddelande i standardformatet RFC/822 så att bakåtkompatibilitet uppnås med äldre e-postsystem.
Steg 1
Ladda innehållet i e-postmeddelandet.
Dagens video
Steg 2
Kontrollera rubriken "Content-Type". Om innehållstypen är flerdelad (d.v.s. "flerdelad/blandad", "flerdelad/alternativ", etc) kommer meddelandet att ha flera sektioner att analysera. Om innehållstypen är flerdelad fortsätter du med stegen nedan.
Steg 3
Content-Type-huvudet bör innehålla en unik sträng som används av koden som genererade MIME-meddelandet för att ange MIME-delgränser. Exempel:
Content-Type: multipart/mixed; boundary="part_c7161025_fe8a_45f4_83ef_6befcfa5d021"
Gränssträngen i det här fallet är "part_c7161025_fe8a_45f4_83ef_6befcfa5d021".
Steg 4
Varje MIME-del kommer att separeras av gränssträngen som föregås av två streck ("--") på en tom rad. Du måste skanna meddelandet rad för rad och leta efter delgränserna. All text mellan gränserna
förutom den sista CR/LF är en del av den MIME-delen.Viktigt: Den sista MIME-delen avslutas med gränssträngen följt av ytterligare två streck.
Exempel:
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Första MIME-delen.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Andra MIME-delen
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Senaste MIME-delen.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021--
Steg 5
Varje MIME-del måste sedan analyseras. Formatet för varje MIME-del liknar det ursprungliga RFC/822-formaterade meddelandet. Den kommer att innehålla en serie rubriker, följt av en tom rad, sedan brödtexten.
Steg 6
En MIME-del kan själv vara flerdelad, med sin egen "Content-Type"-huvud och gränssträng. Din kod måste rekursivt analysera MIME-delar tills den når undernoderna.
Steg 7
En MIME-del kan helt enkelt vara en binär bilaga. I det här fallet kommer vanligtvis en filnamnsrubrik att tillhandahållas tillsammans med överföringskodningen. BASE64 är en populär kodningstyp. I det här fallet måste hela MIME-delkroppen vara BASE64-avkodad. Som ett exempel här är de första raderna i en bifogad JPG-bild:
=NextPart_003_01C755EF.43F2628D Innehållstyp: image/jpeg; name="testimage.jpg" Content-Transfer-Encoding: base64 Content-Description: testimage.jpg Content-Disposition: attachment; filnamn="testbild.jpg"
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMIAMIQYMYMJIYMYQ AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
Steg 8
HTML-texten i meddelandet bör vara i en MIME-sektion med ContentType: Text/Html, inuti en ContentType: Multipart/Alternative MIME-sektion.
Steg 9
Texten i klartext av meddelandet bör vara i en MIME-sektion med ContentType: Text/plain, inuti en ContentType: Multipart/Alternative MIME-sektion.
Saker du behöver
Kunskaper i ett datorspråk (dvs C++, C#, VB, etc).
Grundläggande kunskap om formatet för ett RFC/822-formaterat e-postmeddelande.
Dricks
Konsultera RFC 822 http://www.ietf.org/rfc/rfc0822.txt? nummer=822 och RFC 1341 http://www.ietf.org/rfc/rfc1341.txt? nummer=1341 för mer information. Om du kodar i C# finns ett utmärkt gratisbibliotek tillgängligt på http://www.codeproject.com/csharp/mime_project.asp.