MWN Website
ContactHome

Berbicara langsung dengan server SMTP

Protokol SMTP digunakan untuk mengirim email.

Untuk berbicara langsung dengan server SMTP, kita dapat menggunakan program telnet dan konek ke port SMTP (defaultnya 25, tapi dapat berbeda). Ada juga port 587 (submission) yang juga digunakan untuk mengirim email.

$ telnet HOSTNAME_ATAU_IP 25

Lihat artikel ini, Menggunakan program telnet, jika Anda masih belum familiar dengan program telnet.

Catatan: jika ingin mengirim email untuk domain katakanlah yahoo.com, terlebih dahulu kita harus mencari tahu MX record untuk yahoo.com tersebut, misalnya:

$ host -t mx yahoo.com
yahoo.com mail is handled by 1 d.mx.mail.yahoo.com.
yahoo.com mail is handled by 1 e.mx.mail.yahoo.com.
yahoo.com mail is handled by 1 f.mx.mail.yahoo.com.
yahoo.com mail is handled by 1 g.mx.mail.yahoo.com.
yahoo.com mail is handled by 1 a.mx.mail.yahoo.com.
yahoo.com mail is handled by 1 b.mx.mail.yahoo.com.
yahoo.com mail is handled by 1 c.mx.mail.yahoo.com.

Maka kita dapat mencoba menghubungi salah satu MX mis:

$ telnet d.mx.mail.yahoo.com 25

Kita tidak menghubungi langsung yahoo.com di port 25 karena belum tentu MX untuk domain yahoo.com itu ada di mesin yang sama dengan yahoo.com.

Contents

Sekilas protokol SMTP

Setelah konek, server akan memberikan baris banner (welcome message).

Klien mengirimkan baris perintah. Server mengirimkan baris respon berupa kode hasil 3 digit diikuti keterangan. Kode 2xx artinya berhasil, kode 4xx artinya terjadi kesalahan temporer dan klien dipersilakan mencoba lagi beberapa saat mendatang, kode 5xx artinya terjadi kesalahan permanen.

Contoh

Yang dicetak tebal adalah yang kita ketikkan.

Contoh, kita ingin mengirim email ke steven@masterwebnet.com. Pertama kita mencari tahu MX untuk domain ini:

$ host -t mx masterwebnet.com
masterwebnet.com mail is handled by 10 mail.masterwebnet.com.
$ telnet mail.masterwebnet.com 25
Trying 203.130.198.32...
Connected to mail.masterwebnet.com.
Escape character is '^]'.
220 server23.masterwebnet.com ESMTP ready (MWN SMTPD 0.4.4-spanel1.2/ 2006-11-01)

Lalu kita sebutkan siapa pengirimnya:

MAIL FROM:<pengirim@domain.com>
250 OK(250)

Jika tidak ingin menyebutkan pengirimnya (Return-Path kosong), kita bisa menuliskan:

MAIL FROM:<>

Lalu kita sebutkan penerimanya:

RCPT TO:<steven@masterwebnet.com>
250 OK(250)

Baris RCPT ini dapat diulang untuk penerima-penerima yang lainnya jika ada, mis kita ingin mengirim email ini ke 3 orang lainnya di domain yang sama:

RCPT TO:<user2@masterwebnet.com>
RCPT TO:<user2@masterwebnet.com>
...

Catatan: jika domainnay berbeda, misalnya budi@yahoo.com, maka tentu kita harus menghubungi MX yahoo.com dan bukan di masterwebnet.com :-)

Lalu kirimkanlah bodi emailnya. Akhiri dengan sebuah baris berisi titik:

DATA
354 GO_AHEAD(354)
Subject: test

Ini hanya sebuah tes, harap abaikan
.
250 QUEUED(250) - e5326248c623f66e8105345a3e3135dd

Untuk keluar:

QUIT
221 BYE(221)
Connection closed by foreign host.

Contoh lengkap sebuah sesi SMTP, mengirim email dan sukses:

$ telnet mail.masterwebnet.com 25
Trying 203.130.198.32...
Connected to mail.masterwebnet.com.
Escape character is '^]'.
220 server23.masterwebnet.com ESMTP ready (MWN SMTPD 0.4.4-spanel1.2/2006-11-01)
MAIL FROM:<pengirim@domain.com>
250 OK(250)
RCPT TO:<steven@masterwebnet.com>
250 OK(250)
DATA
354 GO_AHEAD(354)
Subject: test

Ini hanya sebuah tes, harap abaikan
.
250 QUEUED(250) - fd641de480641ec3c3fb0eae5d2deedd
QUIT
221 BYE(221)
Connection closed by foreign host.

Contoh mengirim email yang ditolak karena user tidak dikenali:

RCPT TO:<xxx@masterwebnet.com>
550 ERR_UNKNOWN_USER(550) - I couldn't find that mail user here

SMTP authentication

Kadang untuk mengirim secara relay (mengirim ke domain lain), sebuah server membutuhkan authentication. Protokol otentikasi adalah sbb:

AUTH LOGIN
server akan merespon minta username
ketikkan-username-yang-diencode-menggunakan-base64
server akan merespon minta password
ketikkan-password-yang-diencode-menggunakan-base64
server akan memberitahu auth kita benar atau salah

Untuk mengencode base64, dapat digunakan skrip berikut:

$ perl -MMIME::Base64 -e'print encode_base64("1234")'
MTIzNA==

Artinya '1234' jika diencode akan menjadi 'MTIzNA=='.

Atau menggunakan perintah uuencode

$ echo -n "1234" | uuencode -m -
begin-base64 644 -
MTIzNA==
====

Perhatikan baris keluaran dari perintah tersebut yang berada di antara "begin-base64 644 -" dan "====".

Contoh SMTP authentication: (misalnya usernamenya adalah 'steven@masterwebnet.com' dan passwordnya adalah '1234', yang jika diencode akan menjadi 'c3RldmVuQG1hc3RlcndlYm5ldC5jb20=' dan 'MTIzNA=='.

$ telnet mail.masterwebnet.com 25
Trying 203.130.198.32...
Connected to mail.masterwebnet.com.
Escape character is '^]'.
220 server23.masterwebnet.com ESMTP ready (MWN SMTPD 0.4.4-spanel1.2/2006-11-01)
AUTH LOGIN
334 VXNlcm5hbWU6
c3RldmVuQG1hc3RlcndlYm5ldC5jb20=
334 UGFzc3dvcmQ6
MTIzNA==

XXX Contoh AUTH PLAIN.

Tips lain seputar SMTP

XXX

Link

  • RFC XXXX, spesifikasi protokol SMTP
  • file /etc/services di Unix, daftar nomor port

Tambah komentar untuk halaman/artikel ini:

Situs kb.masterweb.net yang Anda baca ini adalah situs yang isinya dokumentasi, bukan untuk support. Fasilitas komentar pembaca ditujukan untuk mengomentari isi artikel/tutorial, bukan untuk support/memberi bantuan pada masalah yang dihadapi Anda sebagai pelanggan hosting. Jika Anda memiliki masalah dengan akun Anda (hosting/domain/password/pembayaran/dll) silakan menggunakan fasilitas Tiket di Masterkey, bukan dengan memposting komentar di sini, karena komentar di situs ini tidak dimonitor staf support kami. Cara mengirim tiket: login ke masterkey.masterweb.net lalu klik Tiket.

Terima kasih atas pengertian dan kerjasama Anda.


Nama*:
Email* (tidak akan ditampilkan):
Subjek*:
Isi komentar*:

Navigasi

Feedback

Artikel Popular

  • Panduan pengguna Spanel
  • Peraturan dan Persetujuan
  • Email
  • Upload files
  • Kontak MWN
  • PHP
  • Panduan pengguna Masterkey
  • Tentang shared hosting
  • Setting SMTP
  • URL sementara
  • Email Manager
  • selengkapnya...
  • Artikel Terbaru

  • Promo domain gratis
  • T:JSmart tidak berjalan
  • T:Fungsi PHP getallheaders() tidak berfungsi
  • Penagihan prorata
  • Panduan administrator Spanel 1.3/Pemrograman/PHP
  • Moodle
  • FAQ Email (Spanel)
  • FAQ Email
  • Panduan pengguna cPanel-WHM 11/PostgreSQL
  • Panduan pengguna cPanel-WHM 11/MySQL
  • Panduan pengguna cPanel-WHM 11/Ruby
  • selengkapnya...
  • Hak cipta © 2006-2008 PT Master Web Network Konten ditulis dan dikoleksi oleh staf MWN. Artikel-artikel pada situs knowledge base ini dapat dikutip dan disalin secara bebas, namun mohon menyebutkan sumber dengan URL http://kb.masterweb.net/ atau teks "Knowledge Base MWN". MWN tidak bertanggung jawab atas akurasi dan/atau kekinian konten. MWN tidak bertanggung jawab atas komentar-komentar yang dikirim pembaca. Dengan memposting komentar Anda memberi hak penuh pada MWN untuk menampilkan komentar tersebut di manapun dan kapanpun, dan untuk mengedit atau menghapus komentar tersebut dengan cara bagaimanapun dan/atau karena alasan apapun.