SMTP Inside Out

Cara kerja email internet

Pernahkah Anda bertanya-tanya apa yang terjadi ketika Anda menekan tombol Kirim di program email Anda? Mungkin tidak, saya kira - selama itu berhasil. Inilah alasan mengapa Anda harus bertanya-tanya. Jika ada sesuatu yang tidak berhasil, sebaiknya Anda tahu apa yang tidak berhasil. Biasanya, itu setengah solusinya.

Ketika Anda mengirim email, SMTP ikut bermain. SMTP adalah singkatan dari Simple Mail Transfer Protocol sebagaimana didefinisikan dalam RFC 5321: Simple Mail Transfer Protocol. Klien email Anda berbicara ke server SMTP menggunakan prosedur yang bersih dan sederhana ini untuk mendapatkan email dari satu tempat ke tempat lain.

The Flirt

Program email Anda menjadi klien SMTP , terhubung ke port 25 dari server email Anda (biasanya port SMTP ) dan - kata EHLO . Komputer, pada akhirnya, hanyalah manusia dan yang terpenting adalah ingin bersikap sopan. Sebenarnya, itu tidak berusaha untuk bersikap sopan tetapi untuk menggunakan tambahan nanti untuk SMTP yang telah membawa dua rasa dari perintah HELO nanti (perintah SMTP umumnya terdiri dari empat karakter).

Dua Rasa HELO

EHLO, karena yang lebih baru membuat server mengiklankan semua fitur tambahan (seperti pemberitahuan status pengiriman atau kemampuan untuk mengangkut pesan yang mengandung selain karakter ASCII yang aman) yang didukungnya.

Tidak setiap server akan mengizinkan ucapan ini, tetapi diperlukan untuk menerima HELO biasa yang secara alami mengasumsikan bahwa tidak ada fitur tambahan yang hadir. Kedua perintah hello memang mengharuskan klien untuk menentukan domainnya setelah ** LO, namun. Dalam prakteknya, ini terlihat seperti:

220 mail.domain.net Server ESMTP
HALO
501 HELO membutuhkan alamat domain
HELO localhost
250 mail.domain.net Hello localhost [127.0.0.1], senang bertemu dengan Anda

(Masukan saya dicetak miring , output server berwarna hitam; garis yang diawali dengan 5 menunjukkan kesalahan .)

Pengirim

Sisa dari protokol benar-benar layak atribut sederhana. Jika Anda ingin mengirim email, Anda mulai dengan kata kunci MAIL FROM:. Setelah ini muncul alamat email pengirim, seperti yang disarankan oleh dari. Jangan lupa untuk meletakkan tanda kurung di sekitar alamat, meskipun (seperti ). Melanjutkan contoh kami, kami memiliki:

MAIL FROM:
250 sender@example.com ... Pengirim, ok

Penerima

Setelah server menerima alamat pengirim, klien dapat memberikan alamat penerima. Perintah untuk tindakan ini, RCPT TO: lagi-lagi agak sugestif. Saya ingin mengirim email ke saya sendiri :

RCPT TO: recipient@example.com
250 support@lifewireguide.com ... Penerima ok (akan antri)

Bahwa server akan mengantri berarti hanya itu: itu akan menyimpan surat secara lokal dan mengirimnya bersama dengan semua antrian pesan lainnya dalam interval (misalnya, setiap 30 menit). Perilaku ini tergantung pada konfigurasi dan server juga dapat mengirim email secara instan.

Kami hampir selesai. Apa yang masih kurang, adalah bagian yang penting: pesan yang sebenarnya.

Pesan

Sekarang setelah "amplop" selesai, data pesan email sama seperti yang bisa mengikuti. "Data" ini terdiri dari badan email serta kolom header .

Perintah untuk memulai keadaan yang membuat server menerima pesan adalah DATA . Berikut ini adalah semua bidang header dari pesan email dan kemudian tubuh, keduanya mengarang hanya untuk satu blok besar dari teks (atau data). Untuk memberi tahu server bahwa input telah selesai, titik pada baris dengan sendirinya digunakan (\ r \ n. \ R \ n). Jadi saya mengirim pesan saya:

DATA
354 Masukkan email, akhiri dengan "." pada garis dengan sendirinya
ID Pesan:
Tanggal: Matahari, 17 Agustus 1997 18:48:15 +0200
Dari: Heinz Tschabitscher
Kepada: Heinz Tschabitscher
Subjek: Untuk Kontes Summarize-Proust

Berangkat ke Dunia Swan!
.
250 SAA19153 Pesan diterima untuk pengiriman

Ya, ini berarti Anda dapat menyatakan nama yang benar-benar berbeda dari yang ada di dalam bidang To:. Misalnya, Anda dapat menggunakan " Daftar penerima yang ditekan" .

Tamat

Anda sekarang dapat mengirim email sebanyak yang Anda inginkan dengan mengulangi langkah-langkah dari MAIL FROM: ke . . Jika Anda selesai dengan itu, Anda dapat keluar dari server dengan perintah QUIT dan itulah yang kami lakukan:

BERHENTI
221 Selamat tinggal

Bagaimana saya bisa melakukan ini?

Solusi non-sepele adalah telnet ke server email keluar Anda (Anda dapat menemukan alamatnya di pengaturan akun klien email Anda) pada port 25.

Cara yang lebih mudah adalah menggunakan applet Java ini , yang mencoba meniru protokol SMTP dan memandu Anda melalui dialog.