[II3096] Struktur e-mail

[II3096] Struktur e-mail

Ini post pertama saya membuat tugas dengan media blog. Maaf kalo kurang berkenan 🙂

Jadi kali ini di kuliah Keamanan Informasi diberi soal berikut:

“Kirimkan email ke diri sendiri (atau minta orang lain untuk mengirimkan email) dengan dua attachment (yang kecil saja). Identifikasi bagian-bagian di email, mana yang menunjukkan separator (pemisahan) dan mana attachmentnya (dan dikodekan dalam format apa).”

OK jadi saya kirimkan sebuah e-mail ke diri sendiri. Attachment yang saya pasang ada dua, satu berupa file PowerPoint dan satu lagi berupa gambar GIF. Saya memiliki beberapa alamat email pada domain berbeda: yahoo, hotmail, gmail, dan lainnya. Kebetulan untuk tugas ini saya perlu melihat source dari e-mail tersebut. GMail memiliki fitur yang mempermudah yang tidak dimiliki Yahoo!Mail maupun Hotmail. (thx to Satrio @ rsatrioadi.wordpress.com untuk infonya). Fitur ini adalah menu “View original” yang bisa memperlihatkan e-mail dalam unformatted version (plaintext).

Fungsi view original pada GMail
Fungsi view original pada GMail

Berikut struktur e-mail :

Header

Cukup jelas dengan dibaca, menampilkan versi MIME, subyek, cc, bcc, dan informasi lainnya.

MIME-Version: 1.0
Received: by 10.220.90.80 with HTTP; Thu, 11 Mar 2010 12:11:21 -0800 (PST)
Bcc: xxxxxx@hotmail.com
Date: Fri, 12 Mar 2010 03:11:21 +0700
Delivered-To: xxxxxx@gmail.com
Message-ID: <726424811003111211x177db5c0keb7a6632207fb158@mail.gmail.com>
Subject: Email Structure
From: Ibnu Alam <xxxxxx@gmail.com>
To: Ibnu Alam <xxxxxx@gmail.com>
Cc: xxxxxx@yahoo.com
Content-Type: multipart/mixed; boundary=0016e6465208bba5b704818c04e4
--0016e6465208bba5b704818c04e4

Perhatikan bahwa format MIME dalam e-mail ini mengandung content type multipart sehingga diantara tiap part perlu memakai boundary untuk memisahkan. Misalkan di atas untuk header boundarynya adalah “0016e6465208bba5b704818c04e4”, maka header ditandai berakhir dengan “–0016e6465208bba5b704818c04e4”

Body

Berikut adalah body dari e-mail.

Content-Type: multipart/alternative; boundary=0016e6465208bba5b104818c04e2
--0016e6465208bba5b104818c04e2

Ini bagian tulisan. Formatnya plaintext. Bisa juga berbentuk html untuk mail-mail yang dihias seperti mail iklan. Tulisan yang saya kirimkan cuma “electronic mail one two three hello world!”.

Content-Type: text/plain; charset=ISO-8859-1
electronic mail one two three hello world!
--0016e6465208bba5b104818c04e2
Content-Type: text/html; charset=ISO-8859-1
electronic mail one two three hello world!
--0016e6465208bba5b104818c04e2--
--0016e6465208bba5b704818c04e4

Perhatikan adanya 2 boundary berbeda yang berurutan di atas. Ini bisa terjadi karena content multipart bisa dimasukkan secara nested. Dengan subtype alternative, sebuah email bisa dimasukkan 2 jenis content type yang bermanfaat untuk semacam backwards compatibility. Misalnya di atas, ada tipe text/plain dan text/html, jadi jika client tidak bisa membaca html, dipakai alternatif baca yang plaintext saja.

Attachment

Bagian attachment berisi file-file yang diupload bersamaan dengan e-mailnya. File-file ini (binary) diencode ke dalam ASCII agar bisa dikirimkan secara integral dengan bagian email lainnya (karena yang lainnya memakai format ASCII). Di sini memakai encoding base64 (7 bit) karena cocok untuk protokol mail yang umum, SMTP. Lebih jelas lihat wiki saja http://en.wikipedia.org/wiki/Base64 .

Attachment pertama adalah file gambar gif. Besarnya hanya 57 kb. Tapi tentu jika dalam bentuk teks akan cukup panjang, jadi saya potong (hapus) di “<truncated>” 😀

Content-Type: image/gif;
Content-Disposition: attachment; filename="popopopo.gif"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g6nkh6ab0

R0lGODlhAANAAvcAAAAAAAAAMwAAZgAAmQAAzAAA/wArAAArMwArZgArmQArzAAr/wBVAABVMwBVZgBVmQBVzABV/
wCAAACAMwCAZgCAmQCAzACA/wCqAACqMwCqZgCqmQCqzACq/wDVAADVMwDVZgDVmQDVzADV/wD/AAD/MwD/ZgD/mQ
D/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMrADMrMzMrZjMrmTMrzDMr/zNVADNVMzNVZjNVmTNVzDNV/zOAADOAMzO
AZjOAmTOAzDOA/zOqADOqMzOqZjOqmTOqzDOq/zPVADPVMzPVZjPVmTPVzDPV/zP/ADP/MzP/ZjP/mTP/zDP//2YA
AGYAM2YAZmYAmWYAzGYA/2YrAGYrM2YrZmYrmWYrzGYr/2ZVAGZVM2ZVZmZVmWZVzGZV/2aAAGaAM2aAZmaAmWaAz
GaA/2aqAGaqM2aqZmaqmWaqzGaq/2bVAGbVM2bVZmbVmWbVzGbV/2b/AGb/M2b/Zmb/mWb/zGb//5kAAJkAM5kAZp
kAmZkAzJkA/5krAJkrM5krZpkrmZkrzJkr/5lVAJlVM5lVZplVmZlVzJlV/5mAAJmAM5mAZpmAmZmAzJmA/5mqAJm
qM5mqZpmqmZmqzJmq/5nVAJnVM5nVZpnVmZnVzJnV/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwAM8wAZswAmcwAzMwA
/8wrAMwrM8wrZswrmcwrzMwr/8xVAMxVM8xVZsxVmcxVzMxV/8yAAMyAM8yAZsyAmcyAzMyA/8yqAMyqM8yqZsyqm
cyqzMyq/8zVAMzVM8zVZszVmczVzMzV/8z/<truncated>s=

--0016e6465208bba5b704818c04e4

Attachment kedua adalah file powerpoint 2007. Tidak ada yang spesial, cuma saya lihat pengenalan content typenya ternyata tersusun dalam kelas-kelas. Kalau tadi kan cuma “gif”, kalau yang ini lumayan panjang turunannya : vnd.openxmlformats-officedocument.presentationml.presentation. Tuh, ada 4 level. Apa ini standar umum atau cuma di Gmail saja? Mungkin umum yah.. kan e-mail bisa dikirimkan ke mana saja K

Content-Type: application/vnd.openxmlformats-officedocument.presentationml.presentation;
name="rererere.pptx"
Content-Disposition: attachment; filename="rererere.pptx"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g6nkh9mt1

UEsDBBQABgAIAAAAIQAQ2mU99QEAAEoNAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAACAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMl99v2jAQx98n9X+I/FoRQ7sxOhH6sHVP3YY0+ge4yQHeHNuyDw
r//S4JoIAogUDEXkAm+O7j++Hvpf+4SFUwB+el0RHrhG0WgI5NIvUkYi+j760eCzwKnQhlNERsCZ49Dm4+9EdLCz6g
3dpHbIpov3Du4ymkwofGgqYnY+NSgbR0E25F/FdMgN+1210eG42gsYWZDTbo/yIAJxMIhsLhT5GSH24tcq/ox2exND
P05cXnkKyz4GthJiOJmLBWyVggnYPPdbLD0DLjsYwhMfEsJc+hdeDpO/97qsKSo9vMND+dqXdtph/CI+WxiFOx6DTC
VNg+Kk4rmvtGOKoIshwPnbH+0t43hqsISmW1Vb8fL01UclSX6dN/yNS9NtMqa8300VGZWhHcNRKJKgKk6xx4/nl+CH
IzVR5LhbzVMc2cv5CWukzN3GrbTN9gLGYKg6cFCWah0X8sTHa0T6aZtOYPSLn27HGg/M6eCr1c6XVIO3OR9FNp/TpS
ezwcFuQKTS2r8aULfct2KqReH+LUoeP8DiijHD900MySqxinjJ0dHMjqKIGkZUkYwaGETVLfiweKVwW/cang4kJaMl
07K9dKy6H5tNM+O1H1<truncated>==

--0016e6465208bba5b704818c04e4—

Demikian penjelasannya. Maaf banyak kekurangan. 🙂

2 thoughts on “[II3096] Struktur e-mail

Leave a comment