Cara Memeriksa Koneksi SMTP dengan Sesi Telnet Manual
Burung
7 Feb 2020
1 min read

Intisari Utama
Manual telnet testing adalah cara cepat dan sederhana untuk mendiagnosis masalah konektivitas dan konfigurasi SMTP.
Gunakan untuk memverifikasi apakah server SMTP dapat dijangkau, dikonfigurasi dengan benar, dan menerima koneksi.
Uji ini dapat mengungkapkan port yang diblokir, batasan relay, kesalahan DNS, atau masalah kompatibilitas TLS.
Perintah SMTP penting termasuk EHLO/HELO, MAIL FROM, RCPT TO, DATA, dan QUIT.
Port 25 adalah standar untuk relay, sedangkan 465 dan 587 digunakan untuk pengiriman aman.
Autentikasi Base64-encoded (AUTH LOGIN) diperlukan ketika server meminta kredensial login.
Alat seperti Swaks atau platform pengujian email terintegrasi dapat mengotomatisasi dan memperluas langkah diagnostik telnet.
Sorotan Q&A
Mengapa menggunakan telnet daripada alat pengujian email khusus?
Telnet memberikan Anda visibilitas langsung ke dalam dialog SMTP mentah. Ini sangat berharga untuk pemecahan masalah pada level protokol dan mengonfirmasi respons server tanpa lapisan pihak ketiga.
Apa cara tercepat untuk mengetahui apakah port SMTP saya diblokir?
Jalankan
telnet mail.example.com 25. Jika Anda mendapatkan “Connection refused,” kemungkinan ISP atau host Anda memblokir port tersebut.Apakah saya perlu autentikasi saat menguji dengan telnet?
Hanya jika server email memerlukan otentikasi. Gunakan perintah
AUTH LOGINdan kirimkan nama pengguna serta kata sandi Anda yang telah dikodekan dalam Base64.Dapatkah saya mengirim email lengkap melalui telnet?
Ya. Setelah
DATA, tambahkan header dan isi Anda, akhiri dengan satu titik(.)di barisnya sendiri, lalu ketikQUIT.Apakah telnet aman untuk pengujian SMTP?
Tidak. Telnet mentransmisikan data dalam teks biasa. Gunakan hanya untuk pengujian di lingkungan yang aman dan terkendali. Untuk koneksi yang aman, uji melalui TLS menggunakan alat yang mendukung STARTTLS.
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.
Di dunia email, ada banyak aspek untuk pengujian, tetapi salah satu pengujian paling dasar yang dapat Anda lakukan adalah dengan sederhana telnet ke server SMTP tertentu. Pemeriksaan SMTP ini berguna untuk menentukan apakah masalah paling dasar ada atau tidak.
Apakah server aktif?
Apakah ada firewall yang memblokir komunikasi?
Apakah server email memungkinkan relai dari domain/alamat email tertentu?
Perintah SMTP apa yang didukung oleh server email?
Apakah server merespons dengan nama host yang benar?
Apakah koneksi bekerja di luar perangkat lunak pihak ketiga atau APIs?
Semua pertanyaan ini dan lebih banyak lagi dapat dijawab dengan tes telnet sederhana.
Sebelum kita mulai, pastikan untuk membuka artikel 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 dalam bagian 4.1 dari RFC 2821.
Bagaimana Cara Mengirim Email Menggunakan Telnet?
Mengirim email melalui telnet dapat membantu mengidentifikasi masalah pengiriman pada konfigurasi Anda saat ini.
Sebelum Anda mengirim email menggunakan telnet, pastikan telnet sudah terpasang dan diaktifkan pada komputer Anda. Sebagian besar komputer sudah dilengkapi dengan klien telnet. Untuk versi Windows yang tidak memiliki, dapat diinstal dengan membuka bagian “Programs and Features” pada control panel dan memilih “Turn Windows features on or off”. Setelah jendela ini terbuka, pilih “telnet client” dan kemudian klik OK.
Setelah klien telnet terverifikasi terpasang di server, buka jendela terminal tempat Anda akan memasukkan perintah prompt Anda. Pada Windows, gunakan Windows + R, ketik “cmd”, dan tekan enter. Untuk pengguna Mac, Anda dapat menemukan ikon terminal dengan membuka Finder dan mencari “Utilities” di halaman Applications, atau dengan memasukkan “terminal” dalam fungsi pencarian Launchpad.
Selanjutnya, kita perlu menemukan server mail untuk masuk. Untuk ini, kita memerlukan rekaman DNS MX untuk domain tertentu. Ini dapat ditemukan dengan perintah berikut (untuk contoh ini digunakan port25.com, tetapi domain mana pun dapat digunakan):
Windows:
Linux:
SMTP menggunakan salah satu dari tiga port — 25, 465, atau 587, yang biasanya digunakan oleh Microsoft Outlook. Untuk konfigurasi server mail yang lebih lanjut dan optimasi, lihat panduan kami tentang konfigurasi PowerMTA. Jika relai SMTP Anda menggunakan port lain selain 25 seperti yang ditunjukkan dalam contoh, Anda harus menggunakan port yang ditentukan oleh tanggapan server pertukaran surat terhadap nslookup. Anda juga dapat memverifikasi port yang digunakan SMTP Anda dengan menanyakan kepada administrator Anda atau masuk ke server pertukaran surat dan meninjau protokol.
Selanjutnya kita memerlukan DNS PTR untuk IP yang akan kita gunakan. Pertama-tama kita perlu mengetahui alamat IP apa yang dilihat oleh internet. Untuk menemukannya kita dapat menggunakan situs web seperti:
Dengan alamat IP jalankan perintah berikut, di mana A.B.C.D adalah alamat IP.
Windows:
Linux:
server.example.com hanya sebagai contoh, dan hasil Anda mungkin berbeda.
Jadi sekarang kita memiliki rekaman 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 sekarang akan ditampilkan:
Jika Anda menerima pesan kesalahan seperti “cannot connect” pada titik ini, mungkin nomor portnya salah atau server email menghadapi masalah.
Perintah pertama yang perlu kita berikan ke server email untuk pengujian email SMTP kami adalah EHLO atau HELO. Ini adalah sapaan dasar yang memulai komunikasi antara klien telnet dan server SMTP. Juga diteruskan adalah DNS PTR untuk alamat IP dari mana kita menghubungkan seperti yang ditentukan sebelumnya.
EHLO server.example.com
Sesuatu yang mirip dengan berikut ini harus dikembalikan:
Ini menunjukkan perintah SMTP yang diterima server SMTP. Tidak semua server SMTP mendukung set perintah yang sama. Misalnya, yahoo hanya menunjukkan yang berikut:
Dan aol hanya menunjukkan satu dengan:
250 DSN
Perintah berikutnya yang perlu kita berikan adalah perintah MAIL FROM. Ini menentukan alamat ke mana bounces dikirim. Ini tidak sama dengan header from, yang merupakan alamat email yang ditampilkan dalam klien email.
MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok
Pastikan Anda menggunakan nama domain yang sesuai dengan domain server mail Anda. Misalnya, jika domain email Anda adalah anycompany.com, Anda harus menggunakan you@anycompany.com, bukan email luar seperti you@free-mail-provider.com. Variasi dalam nama domain dapat menyebabkan pesan kesalahan muncul.
Setelah perintah MAIL FROM dikirim, kita dapat mengirim perintah RCPT TO. Perintah ini memberi tahu server mail SMTP kepada siapa pesan harus dikirim. Ini bisa sama atau berbeda dari header to, yang merupakan alamat email yang ditampilkan dalam klien email.
RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok
Periksa kembali alamat penerima Anda sebelum mengirim perintah RCPT TO — pesan kesalahan yang muncul di sini dapat menunjukkan penerima email yang salah ketik atau diblokir.
Perintah terakhir yang dijalankan sebelum memulai isi pesan adalah perintah DATA. Perintah ini memberi tahu server mail SMTP bahwa semua yang akan dikirim adalah isi pesan (yang juga berisi header).
DATA 354 send message
Penting untuk dicatat bahwa jika server mail mendukung PIPELINING, seperti yang dilakukan oleh mail.port25.com, server mail SMTP mungkin menunggu hingga perintah DATA diberikan sebelum menanggapi perintah lain setelah EHLO/HELO. Dalam kasus ini, masukkan perintah MAIL FROM, RCPT TO, dan DATA sebelum menunggu respons.
Setelah perintah DATA dikirim, kita dapat mulai mengirim isi pesan. Ini dimulai dengan berbagai header. Setidaknya pesan harus mengandung header to, from, subject, dan date. Header yang dimasukkan di sini akan ditampilkan kepada pengguna dalam klien email mereka.
Dengan header sudah diatur, kita sekarang menambahkan satu baris kosong dengan carriage return/line feed (cukup tekan enter dua kali) dan kemudian kita mulai dengan isi pesan yang sebenarnya.
Halo Dunia, Ini adalah pesan uji yang dikirim dari sesi telnet manual. Salam hormat, administrator SMTP
Dengan pesan selesai, kita perlu memberi tahu server SMTP bahwa kita sudah selesai dengan pesan dan ingin server mail SMTP menerimanya. Ini dilakukan dengan periode pada barisnya sendiri. Jika selama penulisan pesan diperlukan periode pada barisnya sendiri, Anda harus memasukkan 2 periode, yang pertama meloloskan yang kedua.
. 250 2.6.0 message received
Jika Anda mendapatkan pesan kesalahan alih-alih notifikasi “received”, log detail yang relevan dan hubungi penyedia email Anda untuk mendapatkan bantuan lebih lanjut. Masalah koneksi mungkin juga terkait dengan protokol keamanan - pastikan Anda menggunakan TLS 1.2 atau lebih tinggi untuk koneksi yang aman.
Terakhir, perintah QUIT dikirim untuk menutup koneksi:
QUIT 221 2.0.0 mail.port25.com says goodbye
Dengan demikian server mail kini telah menerima pesan untuk pengiriman, pengujian kirim email telnet Anda selesai, dan seharusnya sudah di Inbox alamat RCPT TO!!!
Berikut semua perintah tanpa gangguan:
Mengirim email menggunakan telnet memungkinkan Anda menguji kemampuan koneksi dengan cepat dan biaya lebih rendah dibandingkan dengan peralatan diagnostik atau perangkat lunak yang canggih. Untuk alat uji SMTP yang lebih lanjut, pertimbangkan menggunakan Swaks dengan SparkPost untuk pengujian email yang komprehensif.



