Enamik täna saadetavaid e-kirju on MIME-vormingus (Multipupose Internet Mail Extensions). See võimaldab meilisõnumeid saata lihtteksti ja rikasteksti/HTML-versioonide, tekstisiseste piltide ja manustega. MIME laiendusi saab sõnumile lisada standardses RFC/822 vormingus, nii et tagasiühilduvus saavutatakse vanemate meilisüsteemidega.
Samm 1
Laadige e-kirja sisu.
Päeva video
2. samm
Kontrollige päist "Content-Type". Kui sisutüüp on mitmeosaline (st "mitmeosaline/mixed", "multipart/alternative" jne), on sõnumil sõelumiseks mitu jaotist. Kui sisutüüp on mitmeosaline, jätkake allolevate toimingutega.
3. samm
Päis Content-Type peaks sisaldama unikaalset stringi, mida kasutab MIME-sõnumi genereerinud kood, et määrata MIME-osa piirid. Näide:
Sisutüüp: mitmeosaline/segatud; boundary="part_c7161025_fe8a_45f4_83ef_6befcfa5d021"
Piirstring on sel juhul "part_c7161025_fe8a_45f4_83ef_6befcfa5d021".
4. samm
Iga MIME osa eraldatakse tühjal real piirjoonega, millele eelneb kaks kriipsu ("--"). Osade piire otsides peate sõnumit ridade kaupa skannima. Kogu tekst piiride vahel
välja arvatud lõplik CR/LF on osa sellest MIME-osast.Tähtis: viimane MIME-osa lõpeb piirjoonega, millele järgneb veel kaks kriipsu.
Näide:
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Esimene MIME-osa.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Teine MIME osa
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Viimane MIME-osa.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021--
5. samm
Seejärel tuleb iga MIME osa sõeluda. Iga MIME osa vorming on sarnane algse RFC/822 vormingus sõnumiga. See sisaldab rida päiseid, millele järgneb tühi rida ja seejärel kehaandmed.
6. samm
MIME-osa võib ise olla mitmeosaline, oma "Content-Type" päise ja piiristringiga. Teie kood peab rekursiivselt sõeluma MIME osi, kuni see jõuab alamsõlmedeni.
7. samm
MIME-osa võib olla lihtsalt binaarne manus. Sel juhul antakse tavaliselt failinime päis koos ülekande kodeeringuga. BASE64 on populaarne kodeerimistüüp. Sel juhul peab kogu MIME osa keha olema BASE64 dekodeeritud. Siin on näiteks lisatud JPG-pildi paar esimest rida:
=NextPart_003_01C755EF.43F2628D Sisutüüp: pilt/jpeg; name="testimage.jpg" Content-Transfer-Encoding: base64 Sisu-kirjeldus: testimage.jpg Sisu paigutus: manus; failinimi="testimage.jpg"
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjABIQjMJ AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
8. samm
Sõnumi HTML-i kehaosa peaks asuma jaotises ContentType: Text/Html MIME jaotises ContentType: Multipart/Alternative MIME jaotises.
9. samm
Sõnumi lihtteksti sisu peaks asuma jaotises ContentType: Text/plain MIME jaotises ContentType: Multipart/Alternative MIME.
Asjad, mida vajate
Arvutikeele oskus (nt C++, C#, VB jne).
Põhiteadmised RFC/822 vormingus meilisõnumi vormingust.
Näpunäide
Konsulteerige RFC 822-ga http://www.ietf.org/rfc/rfc0822.txt? arv = 822 ja RFC 1341 http://www.ietf.org/rfc/rfc1341.txt? number = 1341 rohkem informatsiooni. Kui kodeerite C#-s, on suurepärane tasuta raamatukogu saadaval aadressil http://www.codeproject.com/csharp/mime_project.asp.