Senin, 27 Juli 2009

SMTP



SMTP (Simple Mail Transfer Protocol) merupakan salah satu protokol yang umum digunakan untuk pengiriman surat elektronik di Internet. Protokol ini dipergunakan untuk mengirimkan data dari komputer pengirim surat elektronik ke server surat elektronik penerima.
Protokol ini timbul karena desain sistem surat elektronik yang mengharuskan adanya server surat elektronik yang menampung sementara sampai surat elektronik diambil oleh penerima yang berhak.



SMTP bisa dianalogikan sebagai kantor pos. Ketika kita mengirim sebuah e-mail, komputer kita akan mengarahkan e-mail tersebut ke sebuah SMTP server, untuk diteruskan ke mail-server tujuan.

Mail-server tujuan ini bisa dianalogikan sebagai kotak pos di pagar depan rumah, atau kotak PO BOX di kantor pos. Email-email yang terkirim akan menempati di tempat tersebut hingga si pemiliknya mengambilnya. Urusan pengambilan e-mail tersebut tergantung kapan di penerima memeriksa account e-mailnya.

SMTP adalah protokol yang cukup sederhana, berbasis teks dimana protokol ini menyebutkan satu atau lebih penerima email untuk kemudian diverifikasi. Jika penerima email valid, maka email akan segera dikirim. SMTP menggunakan port 25 dan dapat dihubungi melalui program telnet. Agar dapat menggunakan SMTP server lewat nama domain, maka record DNS (Domain Name Server) pada bagian MX (Mail Exchange) digunakan.

Sendmail adalah Mail Transfer Agent pertama yang mengimplementasikan port 25. Kemudian, pada tahun 2001, ada sedikitnya 50 program Mail Transfer Agent yang mengimplementasikan SMTP baik sebagai client maupun sebagai server. Contoh Mail Transfer Agent yang populer adalah: Exim (ditulis oleh Philip Hazel), IBM Postfix, Qmail (ditulis oleh D.J Bernstain), dan Microsoft Exchange Server.

Karena protokol SMTP berawal dari protokol yang benar-benar berbasis teks ASCII, maka SMTP tidak bekerja terlalu baik dalam mengirimkan file-file binary. Standar untuk meng-encode file-file biner agar dapat dikirimkan lewat SMTP dikembangkan dan menelurkan standar-standar seperti MIME (Multipurposes Internet Mail Extensions). Saat ini, hampir semua SMTP server mendukung 8BITMIME, yang dapat mengirimkan file-file biner semudah mengirimkan file teks.

SMTP hanya protokol yang melakukan “push”, artinya dia hanya bisa mengambil email dari client tetapi tidak bisa melakukan “pull”, yaitu melayani pengambilan email di server oleh client. Pengambilan pesan atau email tersebut dilakukan dengan menggunakan protokol tersendiri yaitu protokop POP3 (Post Office Protokol) atau IMAP (Internet Message Access Protocol).

Multipurpose Internet Mail Extensions (MIME)

MIME adalah format standar internet untuk email. MIME mendefinisikan pengiriman pesan selain 8 bit karakter ASCII dengan file yang berisi image, suara, movie, dan program komputer. MIME adalah salah satu komponen dasar pendukung protokol HTTP.

Windows MTA Server: Microsoft Exchange Server

Windows memiliki Mail Transfer Agent berbasis SMTP buatan Microsoft yang disebut Microsoft Transfer Agent. Seperti halnya software berbasis Windows lainnya, software ini juga melakukan manajemen-nya lewat window-window yang sangat user friendly. Sofware ini memiliki beberapa fitur seperti:

* Integrasi dengan Active Directory.
* Arsitektur database yang scalable
* Kompabilitas ke belakang yang sangat tinggi.
* Security:
* Integrasi dengan Microsoft Outlook 2003
* Mendukung clustering

Unix Based Mail Transfer Agent: Postfix

Postfix adalah Mail Transfer Agent yang mengimplementasikan SMTP yang open source dengan lisensi GPL. Postfix didesain sebagai alternatif Sendmail, mail transfer agent yang telah banyak digunakan namun terkenal sangat sulit dikonfigurasi.

Unix Based Mail Transfer Agent: Qmail

Qmail adalah server SMTP modern yang didesain untuk membuat Sendmail jadi kelihatan kuno. Qmail tidak dirancang untuk kemudahan penggunaan, tetapi dirancang untuk menjadi sebuah mail server yang komprehensif. Sama halnya dengan Postfix, Qmail bersifat open source dan didukung sepenuhnya oleh distro-distro besar Linux seperti RedHat, Debian, Gentoo, OpenBSD, dan juga tersedia untuk platform HP-UX

Pada umumnya SMTP diperoleh melalui provider (ISP). Berikut adalah list SMTP beberapa provider yang popular di Indonesia:

1. Telkomnet/Speedy: stmp.telkom.net
2. Fastnet/First Media/Kabelvision: mail.fast.net.id
3. Indosat: smtp.indosat.net.id
4. Biznet: smtp.biz.net.id
5. Net-zap: smtp.net-zap.com
6. Indonet: smtp.indo.net.id
7. Uninet: smtp.uninet.net.id
8. Linknet: mail1.link.net.id
9. CBN: smtp.cbn.net.id
10. Mynet: smtp.mynet.co.id
11. Jetcoms: smtp.jetcoms.net
12. NusaNet: smtp.nusa.net.id
13. Wasantara: jakarta.wasantara.net.id
14. Radnet: smtp.rad.net.id
15. MelsaNet: smtp.melsa.net.id
16. MitraNet: mail.mitra.net.id
17. Centrin: mail.centrin.net.id
18. VisionNet: pluto.vision.net.id
19. Infoasia: smtp.infoasia.net
20. Pacific: smtp.pacific.net.id
21. Dnet: dnet.net.id

Siapakah yang bertanggungjawab atas terkirim/tidaknya email ?

Terkirim atau tidaknya e-mail, terlambat atau tidak tibanya e-mail, tergantung kepada kehandalan SMTP yang digunakan. Misalnya outgoing SMTP yang digunakan adalah: smtp.telkom.net , maka Telkom lah yang bertanggungjawab atas terkirim atau tidaknya suatu e-mail. Terganggunya jaringan antara komputer milik pelanggan dengan Telkom – atau antara Telkom dengan mail-server yang dituju, dapat menyebabkan kegagalan pengiriman e-mail.

Apa penyebab utama keterlambatan tibanya email ?

Terlambat atau tidak tibanya suatu e-mail, tergantung kepada antrian pada SMTP yang digunakan dan mail-server yang dituju. Misalnya outgoing SMTP yang digunakan adalah: smtp.telkom.net , maka tergantung sepanjang apa antrian e-mail yang masuk ke jaringan telkom. Apabila e-mail telah berhasil terkirim melalui SMTP Telkom, maka selanjutnya ketibaan e-mail tersebut tergantung pada antrian mail-server penerima.

Cara Kerja SMTP

Simple Mail Transfer Protocol (SMTP) didefinisikan dan digunakan dalam Internet untuk mengirimkan electonic mail (E-mail). Cara kerja SMTP mirip yang dilakukan oleh FTP. SMTP menggunakan beberapa spool dan queue. Pesan yang dikirim oleh SMTP akan dikirimkan dalam queue. SMTP akan menghindari membalas pesan dari queue jika dihubungkan ke remote machine. Jika pesan tidak dapat dibalas dengan waktu yang telah ditentukan maka pesan akan dikembalikan ke pengirim atau dipindahkan. Interaksi antara message ke User Agent dan ke Message Transfer Agent hingga diterima oleh Penerima.



SMTP bekerja berdasarkan pengiriman end-to-end, dimana SMTP client (pengirim) akan menghubungi SMTP server (penerima) untuk segera mengirimkan email. SMTP server melayani pengguna melalui port 25. Dimana setiap pesan yang dikirimkan melaui SMTP harus memiliki :

1. Header atau amplop, yang dijabarkan pada RFC 822.
2. Konten atau isi, yang berisi tentang isi dari surat yang akan dikirimkan

Format mail header :



Bagian dari mail header yang sering digunakan adalah :

Mail Exchange

Pada saat pengiriman diminta oleh user SMTP Pengirim melakukan koneksi 2 arah dengan SMTP penerima. SMTP dapat berupa tujuan akhir atau penerus (mail gateway). SMTP pengirim akan membangkitkan perintah untuk melakukan reply to pada SMTP penerima.



Diagram alir pertukaran surat SMTP



1. SMTP Pengirim melakukan koneksi TCP/IP dengan SMTP penerima dan menunggu server untuk mengirim pesan 220 yang menandakan pelayanan terhadap pesan sudah siap atau pesan 421 pelayanan tidak siap.
2. HELO (kependekan dari hello) dikirim oleh server dengan menunjukkan nama domain
3. Pengirim akan memulai memberikan perintah kepada SMTP dimana apabila SMTP mendukung perintah tersebut akan membalas dengan pesan 250 OK
4. Memberikan informasi kepada SMTP tentang tujuan dari email dengan perintah RCPT TO dilanjutkan dengan alamat email yang dituju
5. Setelah tujuan diset, dilanjutkan dengan perintah DATA yang menunjukkan bahwa baris berikutnya adalah isi dari email dengan diakhiri dengan CRLF
6. Client mengisikan data sesuai dengan pesan yang akan dikirimkan hingga mengisikan CRLF kembali untuk menandakan berakhirnya data
7. Pengirimkan akan menghentikan kegiatan dengan memberi perintah QUIT

Kecepatan koneksi antar kedua server SMTP (penerima dan pengirim) inilah yang menentukan kecepatan suatu email diterima.


Tidak ada komentar:

Posting Komentar


Ferdi van Oyiig !