Mengirim Email Lewat Telnet

Jika halaman web menggunakan protokol HTTP sebagai protokol komunikasi data, maka lalu lintas email menggunakan protokol SMTP sebagai jalur komunikasi. Namun memang protokol SMTP sedikit kalah populer jika dibandingkan dengan protokol HTTP, padahal keduanya merupakan tulang punggung lalu lintas data internet saat ini.

Protokol SMTP sedikit tidak populer eksplorasinya karena jarang sekali kita memerlukan akses protokol tingkat rendah. Semuanya sudah dibungkus oleh perangkat-perangkat mail client seperti misalnya MS Outlook, Mozilla Thunderbird, GMail, Yahoo! Mail, dsb. Bahkan bagi seorang programmer sekalipun, ia pasti lebih sering melakukan query protokol HTTP tingkat rendah macam GET /index.php HTTP/1.1 daripada melakukan query protokol SMTP semacam HELO mailserver.example.com.

Nah, bagaimana sekarang caranya jika kita ingin mengirim email melalui protokol SMTP? Mungkin kita membutuhkan semacam testing untuk memastikan bahwa mailserver berjalan dengan baik. Yang Anda butuhkan hanyalah dua hal: sebuah command prompt dan pastikan bahwa mailserver yang Anda tuju merelay email dari tempat Anda melakukan perintah protokol SMTP. Tentu saja Anda juga harus diizinkan oleh firewall untuk berkomunikasi keluar-masuk lewat port 25 (port umum SMTP Server).

Sejatinya, langkah-langkah berikut adalah langkah yang dilakukan oleh mail client ketika akan mengirim email. Untuk mekanisme email yang memakai lampiran (attachment), prosesnya sedikit lebih kompleks dan tidak dibahas dalam posting ini. Ini adalah langkah-langkah dasar melakukan pengiriman email sederhana dengan SMTP.

[cmd]> telnet mail.example.com 25

Ini adalah perintah untuk berhubungan dengan mail server di alamat mail.example.com pada port 25. Jika berhasil, Anda akan diberi ucapan selamat datang yang merupakan penjelasan singkat dari mail server, misalnya

220 mail.example.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.1830 ready at  Wed, 25 Jun 2008 14:22:53 +0800

Terlihat di sini bahwa kita telah berhasil menghubungi mailserver mail.example.com, dengan jenis server Microsoft ESMTP MAIL Service (ini bawaan Internet Information Service (IIS)-nya Microsoft). Langkah berikutnya, ketik

HELO mail.example.com

Saya nggak tahu siapa penemu protokol ini. Pasti orangnya ceria dan suka humor. Untuk memberi tahu kalau kita ingin mengirim email menggunakan server mail.example.com, kita harus berbaik-baik dengan dia dengan menyapa, “Helo…” :)) . Dan balasan dari server kalau dia siap mengirimkan email tak kalah kocak:

250 mail.example.com Hello mail.example.com [127.0.0.1], pleased to meet you

Itu tadi adalah balasan dari Sendmail. Kemudian ketikkan nama pengirim dan nama yang akan kita tuju:

MAIL FROM: sender@example.com
RCPT TO: recipient@example.com

Jika berhasil, respon dari mail server semacam ini:

250 2.1.0 sender@example.com… Sender ok
250 2.1.0 recipient@example.com… Recipient ok

Bagian berikutnya adalah isi email itu sendiri. Perintahnya adalah

DATA

Kemudian tulis isi email yang akan dikirimkan, termasuk header seperti Subject, Content-Type, dll dituliskan di bagian DATA ini. Akhir dari bagian ini ditandai dengan titik tunggal (.) pada satu baris baru. Misalnya:

Subject: Tes Pengiriman Email [tekan enter dua kali]

Isi email akan ditulis di sini dan diakhiri dengan tanda titik tunggal di baris baru.
.

Respon dari mail server jika isi telah diterima adalah semacam ini:

250 2.6.0 <BDKMAX01DTVuTxkzodI00000009@bdkmax01.corp.vico.co.id> Queued mail for delivery

Kemudian ketik perintah ini untuk putus hubungan dengan mail server.

QUIT

Jika beruntung — dalam artian email Anda oleh mail server tidak dikategorikan sebagai Bad Mail,  email Anda akan terkirim dengan sukses beberapa saat kemudian. Kalau kata orang Jawa sih: tanpa gantalan wektu. Okeh… enjoy!

By Galih Satriaji

Bookaholic, Workaholic. Chubby. That's me!

7 comments

  1. #Anang:
    Wis postingan iki diabaikan saja, hehehehe…

    #trendy:
    Apanya yang pakai http? kalau lalu lintas web ya memang pakai HTTP, kalau email pakai SMTP.

Leave a comment

Your email address will not be published. Required fields are marked *