
Di dunia email, ada banyak aspek untuk pengujian, tetapi salah satu tes paling dasar yang bisa Anda lakukan adalah dengan sederhana telnet ke server SMTP tertentu. Pemeriksaan SMTP ini berguna untuk menentukan apakah masalah paling dasar ada atau tidak.
Business in a box.
Temukan solusi kami.
Bicaralah kepada tim penjualan kami
Di dunia email, ada banyak aspek dalam pengujian, tetapi salah satu pengujian paling dasar yang dapat Anda lakukan adalah dengan sederhana melakukan telnet ke server SMTP yang diberikan. Pengujian SMTP ini berguna untuk menentukan apakah masalah yang paling dasar ada atau tidak.
Apakah server aktif?
Apakah ada firewall yang memblokir komunikasi?
Apakah server email mengizinkan penerusan untuk domain/alamat email tertentu?
Perintah SMTP apa yang didukung oleh server email?
Apakah server merespons dengan nama host yang benar?
Apakah koneksi berfungsi di luar perangkat lunak pihak ketiga atau API?
Semua pertanyaan ini dan lebih banyak lagi dapat dijawab dengan pengujian telnet sederhana.
Sebelum kita mulai, pastikan untuk membuka bagian pendamping untuk posting ini: Ke Mana Pesan Bounce Dikirim? di tab baru sehingga Anda dapat membacanya setelah selesai dengan blog ini.
Sebagai catatan, perintah yang digunakan dalam contoh berikut (serta perintah tambahan) dibahas di bagian 4.1 dari RFC 2821.
Bagaimana Cara Mengirim Email Menggunakan Telnet?
Mengirim email melalui telnet dapat membantu Anda mengidentifikasi masalah pengiriman dalam konfigurasi Anda saat ini.
Sebelum Anda mengirim email menggunakan telnet, pastikan telnet diinstal dan diaktifkan di komputer Anda. Kebanyakan komputer sudah dilengkapi dengan klien telnet. Untuk versi Windows yang tidak memilikinya, dapat diinstal dengan membuka bagian “Programs and Features” di control panel dan memilih “Turn Windows features on or off”. Dengan jendela ini terbuka, pilih “telnet client” dan kemudian klik OK.
Setelah klien telnet diverifikasi telah diinstal di server, buka jendela terminal di mana Anda akan memasukkan perintah prompt Anda. Di Windows, gunakan kombinasi tombol Windows + R, ketik “cmd”, dan tekan enter. Untuk pengguna Mac, Anda akan menemukan ikon terminal dengan membuka Finder dan mencari “Utilities” di halaman Applications, atau dengan memasukkan “terminal” di fungsi pencarian Launchpad.
Selanjutnya, kita perlu mencari server email untuk masuk. Untuk ini, kita memerlukan catatan DNS MX untuk domain tertentu. Ini dapat ditemukan dengan perintah berikut (dalam contoh ini port25.com akan digunakan, tetapi domain apa pun dapat digunakan):
Windows:
nslookup -type=mx port25.com
Jawaban non-otoritatif:
port25.com MX preference = 100, mail exchanger = mail.port25.com
Linux:
nslookup -type=mx port25.com
Jawaban non-otoritatif:
port25.com mail exchanger = 100 mail.port25.com.
SMTP menggunakan salah satu dari tiga port — 25, 465, atau 587, yang biasa digunakan Microsoft Outlook. Jika relay SMTP Anda menggunakan port berbeda dari 25 seperti yang ditampilkan dalam contoh, Anda akan menggunakan port yang ditentukan oleh respons server pertukaran email terhadap nslookup. Anda juga dapat memverifikasi port yang digunakan SMTP Anda dengan menanyakan kepada administrator Anda atau masuk ke server pertukaran email dan meninjau protokol.
Selanjutnya kita memerlukan DNS PTR untuk IP yang akan kita gunakan. Pertama, kita perlu tahu alamat IP apa yang dilihat internet miliki. Untuk mengetahuinya, kita dapat menggunakan situs web seperti:
Dengan alamat IP, jalankan perintah berikut, di mana A.B.C.D adalah alamat IP.
Windows:
nslookup -type=ptr A.B.C.D
Jawaban non-otoritatif:
D.C.B.A.in-addr.arpa name = server.example.com
Linux:
nslookup -type=ptr A.B.C.D
Jawaban non-otoritatif:
D.C.B.A.in-addr.arpa name = server.example.com
server.example.com hanyalah sebuah contoh, dan hasil Anda akan berbeda.
Jadi sekarang kita memiliki rekam MX untuk port25.com dan PTR untuk IP yang akan kita gunakan, saatnya untuk masuk ke server SMTP. Untuk melakukannya, gunakan perintah berikut:
telnet mail.port25.com 25
Sesuatu yang mirip dengan berikut ini harus sekarang ditampilkan:
Mencoba 69.63.149.30... Terhubung ke mail.port25.com (69.63.149.30). Karakter pelarian adalah '^]'. 220 mail.port25.com ('PowerMTA(TM)' v4.0) ESMTP service ready
Jika Anda menerima pesan kesalahan seperti “tidak dapat terhubung” pada titik ini, baik nomor portnya salah atau server email mengalami masalah.
Perintah pertama yang perlu kita keluarkan ke server email SMTP kami adalah EHLO atau HELO. Ini adalah salam dasar yang memulai komunikasi antara klien telnet dan server SMTP. Juga diteruskan adalah DNS PTR untuk alamat IP dari mana kita terhubung sebagaimana ditentukan sebelumnya.
EHLO server.example.com
Sesuatu yang mirip dengan berikut ini harus dikembalikan:
250-mail.port25.com mengatakan halo 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-8BITMIME 250-XACK 250-XMRG 250-SIZE 54525952 250-VERP 250 DSN
Ini menunjukkan perintah SMTP yang diterima server SMTP. Tidak semua server SMTP mendukung set perintah yang sama. Misalnya, yahoo hanya menunjukkan hal berikut:
250-8BITMIME 250-SIZE 41943040 250 PIPELINING
Dan aol hanya menunjukkan satu dengan:
250 DSN
Perintah berikutnya yang perlu kita keluarkan adalah perintah MAIL FROM. Ini menentukan alamat tempat bouncing dikirim. Ini tidak sama dengan header from, yang merupakan alamat email yang ditampilkan di klien email.
MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok
Pastikan Anda menggunakan nama domain yang sesuai dengan domain server email Anda. Misalnya, jika domain email Anda adalah anycompany.com, Anda akan ingin menggunakan you@anycompany.com alih-alih email luar seperti you@free-mail-provider.com. Variasi dalam nama domain dapat menyebabkan pesan kesalahan muncul.
Sekarang setelah perintah MAIL FROM dikirim, kita dapat mengirim perintah RCPT TO. Perintah ini memberi tahu server email SMTP kepada siapa pesan harus dikirim. Ini bisa sama atau berbeda dengan header to, yang merupakan alamat email yang ditunjukkan di klien email.
RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok
Periksa ulang alamat penerima Anda sebelum mengirim perintah RCPT TO — pesan kesalahan yang ditampilkan di sini dapat menunjukkan alamat email yang salah ketik atau terasa terblokir.
Perintah terakhir untuk dijalankan sebelum memulai tubuh pesan adalah perintah DATA. Perintah ini memberitahu server email SMTP bahwa semuanya yang akan dikirim adalah tubuh pesan (yang juga berisi header).
DATA 354 send message
Penting untuk dicatat bahwa jika server email mendukung PIPELINING, seperti halnya mail.port25.com, server email SMTP dapat menunggu hingga perintah DATA dikeluarkan sebelum merespons perintah lain setelah EHLO/HELO. Dalam kasus ini, masukkan perintah MAIL FROM, RCPT TO, dan DATA sebelum menunggu respon.
Sekarang setelah perintah DATA dikirim kita dapat mulai mengirim isi pesan. Ini dimulai dengan berbagai header. Setidaknya sebuah pesan harus berisi header to, from, subject, dan date. Header yang dimasukkan di sini akan ditampilkan kepada pengguna di klien email mereka.
Dari: "John Smith" <jsmith@port25.com> Ke: "Jane Doe" <jdoe@port25.com> Subjek: pesan uji yang dikirim dari sesi telnet manual Tanggal: Rabu, 11 Mei 2011, 16:19:57 -0400
Dengan header diatur, kita sekarang menambahkan satu baris kosong dengan carriage return/line feed (cukup tekan enter dua kali) dan kemudian kita mulai bagian tubuh dari pesan sebenarnya.
Halo Dunia, Ini adalah pesan uji yang dikirim dari sesi telnet manual. Hormat kami, administrator SMTP
Dengan pesan selesai, kita perlu memberi tahu server SMTP bahwa kita sudah selesai dengan pesan tersebut dan ingin server email SMTP menerimanya. Ini dilakukan dengan titik pada satu baris sendiri. Jika selama penulisan pesan diperlukan titik pada satu baris sendiri, Anda harus menambahkan titik kedua untuk menghindari yang pertama.
. 250 2.6.0 pesan diterima
Jika Anda mendapatkan pesan kesalahan alih-alih notifikasi “diterima”, catat detail yang relevan dan hubungi penyedia email Anda untuk bantuan lebih lanjut.
Terakhir, perintah QUIT dikirim untuk menutup koneksi:
QUIT 221 2.0.0 mail.port25.com mengucapkan selamat tinggal
Dengan itu server email kini telah menerima pesan untuk dikirim, tes kirim email telnet Anda selesai, dan itu harus berada di Inbox alamat RCPT TO!!!
Berikut adalah semua perintah tanpa gangguan:
telnet mail.port25.com 25 Mencoba 69.63.149.30... Terhubung ke mail.port25.com (69.63.149.30). Karakter pelarian adalah '^]'. 220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready EHLO server.example.com 250-mail.port25.com mengatakan halo 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250-8BITMIME 250-XACK 250-XMRG 250-SIZE 54525952 250-VERP 250 DSN MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok DATA 354 send message Dari: "John Smith" <jsmith@port25.com> Ke: "Jane Doe" <jdoe@port25.com> Subjek: pesan uji yang dikirim dari sesi telnet manual Tanggal: Rabu, 11 Mei 2011, 16:19:57 -0400 Halo Dunia, Ini adalah pesan uji yang dikirim dari sesi telnet manual. Hormat kami, administrator SMTP . 250 2.6.0 pesan diterima QUIT 221 2.0.0 mail.port25.com mengucapkan selamat tinggal
Mengirim email menggunakan telnet memungkinkan Anda menguji kemampuan koneksi dengan cepat dan dengan biaya lebih rendah daripada peralatan diagnostik yang kuat atau perangkat lunak.