Cara Mendekode Email dalam Format MIME

Sebagian besar email yang dikirim hari ini berformat MIME (Multipupose Internet Mail Extensions). Ini memungkinkan email dikirim dengan teks biasa dan teks kaya/versi HTML, gambar sebaris, dan lampiran. Ekstensi MIME dapat ditambahkan ke pesan dalam format RFC/822 standar sehingga kompatibilitas mundur dicapai dengan sistem email yang lebih lama.

Langkah 1

Muat isi pesan email.

Video Hari Ini

Langkah 2

Periksa tajuk "Jenis Konten". Jika tipe konten adalah multipart (yaitu "multipart/campuran", "multipart/alternatif", dll) pesan akan memiliki beberapa bagian untuk diuraikan. Jika tipe konten multipart, lanjutkan dengan langkah-langkah di bawah ini.

Langkah 3

Header Tipe Konten harus berisi string unik yang digunakan oleh kode yang menghasilkan pesan MIME untuk menetapkan batas bagian MIME. Contoh:

Tipe-Konten: multi-bagian/campuran; batas="part_c7161025_fe8a_45f4_83ef_6befcfa5d021"

String batas dalam hal ini adalah "part_c7161025_fe8a_45f4_83ef_6befcfa5d021".

Langkah 4

Setiap bagian MIME akan dipisahkan oleh garis batas yang didahului oleh dua tanda hubung ("--") pada baris kosong. Anda perlu memindai pesan baris demi baris untuk mencari batas bagian. Semua teks di antara batas

kecuali CR/LF terakhir adalah bagian dari bagian MIME itu.

Penting: Bagian MIME terakhir akan diakhiri dengan string batas diikuti oleh dua tanda hubung lagi.

Contoh:

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Bagian MIME pertama.

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Bagian MIME kedua

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Bagian MIME terakhir.

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021--

Langkah 5

Setiap bagian MIME kemudian perlu diuraikan. Format setiap bagian MIME mirip dengan pesan berformat RFC/822 asli. Ini akan berisi serangkaian header, diikuti oleh baris kosong, lalu data isi.

Langkah 6

Bagian MIME itu sendiri dapat menjadi multi bagian, dengan header "Tipe-Konten" dan string batasnya sendiri. Kode Anda harus menguraikan bagian MIME secara rekursif hingga mencapai node anak.

Langkah 7

Bagian MIME dapat berupa lampiran biner. Dalam hal ini header Filename biasanya akan diberikan, bersama dengan pengkodean transfer. BASE64 adalah jenis pengkodean yang populer. Dalam hal ini seluruh bagian tubuh MIME harus didekodekan BASE64. Sebagai contoh berikut adalah beberapa baris pertama dari gambar JPG terlampir:

=NextPart_003_01C755EF.43F2628D Content-Type: image/jpeg; name="testimage.jpg" Content-Transfer-Encoding: base64 Content-Description: testimage.jpg Content-Disposition: attachment; nama file="testimage.jpg"

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAgEDAwIEAwUFBAQA

Langkah 8

Badan HTML pesan harus berada di bagian MIME dengan ContentType: Text/Html, di dalam bagian ContentType: Multipart/Alternative MIME.

Langkah 9

Badan teks biasa dari pesan harus berada di bagian MIME dengan ContentType: Text/plain, di dalam bagian ContentType: Multipart/Alternative MIME.

Hal yang Anda Butuhkan

  • Pengetahuan tentang bahasa komputer (yaitu C++, C#, VB, dll).

  • Pengetahuan dasar tentang format pesan email berformat RFC/822.

Tip

Konsultasikan RFC 822 http://www.ietf.org/rfc/rfc0822.txt? nomor = 822 dan RFC 1341 http://www.ietf.org/rfc/rfc1341.txt? nomor = 1341 untuk informasi lebih lanjut. Jika Anda membuat kode dalam C#, perpustakaan gratis yang luar biasa tersedia di http://www.codeproject.com/csharp/mime_project.asp.