Konfigurasi SMTP adalah proses pengaturan server email (atau klien email) Anda agar dapat mengirim pesan dengan benar menggunakan Simple Mail Transfer Protocol. Jika dilakukan dengan tepat, email Anda akan masuk ke inbox. Jika salah, Anda akan menghadapi kegagalan pengiriman, kesalahan autentikasi, atau pesan yang masuk ke folder spam. Ada tiga hal yang harus Anda kuasai setiap saat: port yang tepat, metode enkripsi yang benar, dan kredensial autentikasi yang berfungsi.
Daftar Isi
Apa Sebenarnya SMTP Itu
SMTP adalah protokol yang digunakan klien email atau aplikasi Anda untuk menyerahkan pesan keluar ke server email, yang kemudian mengarahkannya ke penerima. Protokol ini hanya menangani sisi pengiriman. Penerimaan email ditangani oleh protokol terpisah: IMAP (untuk sinkronisasi) atau POP3 (untuk mengunduh).
Saat Anda menekan "Kirim", klien Anda membuka koneksi TCP ke server SMTP, melakukan autentikasi, menyerahkan pesan, dan memutuskan sambungan. Server kemudian mencoba mengirimkan pesan tersebut ke server email penerima menggunakan protokol yang sama, mencari catatan DNS MX (Mail Exchange) tujuan untuk mengetahui ke mana mengirimnya.
SMTP didefinisikan dalam RFC 5321 , yang menggantikan RFC 2821 asli. Memahami spesifikasi membantu saat Anda perlu men-debug percakapan SMTP mentah atau mengonfigurasi server dari awal.
Penjelasan Port SMTP: 25, 465, dan 587
Ada tiga port yang akan Anda temui dalam konfigurasi SMTP apa pun. Masing-masing memiliki peran spesifik, dan menggunakan port yang salah adalah salah satu penyebab paling umum dari kegagalan pengiriman email.
| Port | Nama | Enkripsi | Penggunaan Umum |
|---|---|---|---|
| 25 | SMTP | Tidak ada (atau STARTTLS) | Relay server ke server (MTA ke MTA) |
| 465 | SMTPS | SSL/TLS Implisit | Pengiriman klien warisan (aplikasi lama) |
| 587 | Submission | STARTTLS (TLS Eksplisit) | Pengiriman email klien terotentikasi |
Port 25 vs 587: Port Mana yang Harus Anda Gunakan?
Port 25 adalah port SMTP asli, yang didefinisikan kembali pada tahun 1982. Port ini dirancang untuk server email saling berkomunikasi, bukan untuk pengguna akhir mengirimkan email. Sebagian besar ISP dan penyedia cloud memblokir port 25 keluar dari IP perumahan dan hosting bersama khusus untuk mencegah spam. Jika Anda menjalankan aplikasi yang mengirim email, mencoba menggunakan port 25 hampir pasti akan gagal.
Port 587 adalah pilihan yang tepat untuk mengirimkan email dari klien atau aplikasi. Port ini distandarkan dalam RFC 6409 sebagai port "pengiriman pesan" khusus. Port ini memerlukan STARTTLS, yang berarti koneksi dimulai tanpa enkripsi dan kemudian ditingkatkan ke TLS sebelum kredensial apa pun dikirim. Ini adalah yang diharapkan Gmail, Outlook, dan praktis setiap penyedia email modern.
Port SMTP 465: Port SSL Warisan
Port 465 memiliki sejarah yang tidak biasa. Port ini secara singkat ditugaskan ke SMTPS (SMTP over SSL) pada tahun 1997, kemudian penugasan tersebut dibatalkan pada tahun 1998 ketika STARTTLS pada port 587 menjadi pendekatan yang lebih disukai. Meskipun secara resmi sudah usang, banyak server email terus mendukungnya, dan kemudian didaftarkan kembali oleh IANA untuk tujuan yang berbeda.
Dalam praktiknya, sebagian besar penyedia masih menerima koneksi di port 465 menggunakan SSL/TLS implisit. Ini berarti TLS membungkus seluruh koneksi dari byte pertama, bukan ditingkatkan di tengah handshake seperti STARTTLS. Beberapa aplikasi dan perangkat keras yang lebih lama (printer jaringan tertentu, CRM warisan) hanya mendukung port 465, jadi tetap berguna dalam kasus-kasus tersebut.
- Gunakan port 465 jika aplikasi atau perangkat Anda secara khusus memerlukan SSL implisit dan tidak dapat melakukan STARTTLS.
- Gunakan port 587 untuk segalanya. Ini adalah standar modern.
- Hindari port 25 untuk pengiriman klien sama sekali.
Autentikasi SMTP: Cara Kerjanya
Autentikasi SMTP (sering ditulis sebagai SMTP AUTH) didefinisikan dalam RFC 4954 . Ini memerlukan klien untuk membuktikan identitasnya sebelum server akan menerima email keluar. Tanpa itu, siapa pun yang dapat menjangkau server Anda dapat menggunakannya untuk mengirim spam, itulah mengapa relay terbuka dianggap sebagai masalah keamanan yang serius.
Mekanisme autentikasi paling umum yang akan Anda lihat dalam konfigurasi SMTP adalah:
- PLAIN: Mengirim nama pengguna dan kata sandi yang dikodekan base64. Aman hanya melalui koneksi terenkripsi (TLS harus aktif terlebih dahulu).
- LOGIN: Mirip dengan PLAIN tetapi mengirim nama pengguna dan kata sandi sebagai pertukaran terpisah. Juga memerlukan TLS.
- CRAM-MD5: Mekanisme tantangan-respons yang menghindari pengiriman kata sandi secara langsung. Kurang umum di server modern.
- XOAUTH2: Digunakan oleh Gmail dan akun Google Workspace lainnya. Alih-alih kata sandi, Anda memberikan token akses OAuth 2.0. Ini adalah yang Anda butuhkan ketika akses aplikasi yang kurang aman dinonaktifkan.
Pengaturan Server Email Langkah Demi Langkah
Baik Anda mengonfigurasi klien email seperti Thunderbird, aplikasi web yang mengirim email transaksional, atau server email yang di-host sendiri, prosesnya mengikuti urutan logis yang sama.
Untuk Klien Email dan Aplikasi
-
Dapatkan nama host SMTP dari penyedia Anda.
Contoh:
smtp.gmail.com,smtp.office365.com,mail.yourdomain.com. - Pilih port yang tepat. Gunakan 587 dengan STARTTLS sebagai default Anda. Kembali ke 465 dengan SSL hanya jika aplikasi Anda memerlukan itu.
- Masukkan kredensial autentikasi Anda. Ini biasanya alamat email lengkap Anda sebagai nama pengguna ditambah kata sandi atau kata sandi aplikasi Anda.
- Atur metode enkripsi. Cocokkan dengan port: STARTTLS untuk 587, SSL/TLS untuk 465.
- Uji koneksi. Sebagian besar klien email memiliki tombol "Uji Pengaturan Akun" atau "Verifikasi". Gunakan itu sebelum menyimpan.
Untuk Server Email yang Di-host Sendiri (Contoh Postfix)
Jika Anda menjalankan server sendiri dengan Postfix, konfigurasi SMTP inti berada di
/etc/postfix/main.cf
. Berikut adalah contoh kerja minimal untuk server yang relay melalui penyedia SMTP pihak ketiga:
# /etc/postfix/main.cf - Basic relay configuration
relayhost = [smtp.sendgrid.net]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = yes
Setelah mengedit, buat
/etc/postfix/sasl_passwd
dengan kredensial Anda, jalankan
postmap /etc/postfix/sasl_passwd
untuk mengenkripsinya, kemudian muat ulang Postfix dengan
systemctl reload postfix
.
chmod 600 /etc/postfix/sasl_passwd
dan
chmod 600 /etc/postfix/sasl_passwd.db
setelah membuat file. File kredensial yang dapat dibaca adalah salah konfigurasi server yang umum.
Pengaturan SMTP Umum untuk Penyedia Populer
| Penyedia | Host SMTP | Port | Enkripsi | Catatan Autentikasi |
|---|---|---|---|---|
| Gmail | smtp.gmail.com | 587 | STARTTLS | Gunakan kata sandi aplikasi atau OAuth2 |
| Gmail (alternatif) | smtp.gmail.com | 465 | SSL/TLS | Gunakan kata sandi aplikasi atau OAuth2 |
| Microsoft 365 | smtp.office365.com | 587 | STARTTLS | Modern Auth / kata sandi aplikasi |
| Yahoo Mail | smtp.mail.yahoo.com | 465 | SSL/TLS | Kata sandi aplikasi diperlukan |
| Zoho Mail | smtp.zoho.com | 587 | STARTTLS | Email lengkap sebagai nama pengguna |
| Amazon SES | email-smtp.us-east-1.amazonaws.com | 587 | STARTTLS | Kredensial SMTP IAM |
Pemecahan Masalah Koneksi SMTP
Sebagian besar kegagalan SMTP termasuk dalam sejumlah kecil kategori. Sebelum menggali log, periksa apakah port benar-benar dapat dijangkau dari server atau jaringan Anda. Firewall atau blokir ISP sering menjadi penyebabnya, dan Anda dapat mengonfirmasinya dengan cepat tanpa alat khusus apa pun.
Anda dapat memverifikasi apakah port SMTP terbuka di server email Anda menggunakan pemeriksa port online gratis. Masukkan nama host atau IP server email Anda, pilih port 25, 465, atau 587, dan jalankan tes. Jika hasilnya kembali sebagai tertutup atau timeout, masalahnya adalah tingkat jaringan (firewall, blokir ISP, atau layanan tidak berjalan) daripada kesalahan konfigurasi di dalam aplikasi Anda.
Pesan Kesalahan Umum dan Artinya
- Koneksi ditolak / Koneksi timeout: Port diblokir atau layanan tidak mendengarkan. Periksa aturan firewall Anda dan konfirmasikan daemon SMTP sedang berjalan.
- 535 Autentikasi gagal: Nama pengguna atau kata sandi salah. Untuk Gmail, ini biasanya berarti Anda memerlukan kata sandi aplikasi, bukan kata sandi akun Anda.
- 550 5.7.1 Relay access denied: Server Anda tidak dikonfigurasi untuk relay email untuk alamat pengirim itu, atau autentikasi tidak terjadi sebelum perintah MAIL FROM.
- 421 Terlalu banyak koneksi: Server penerima membatasi laju Anda. Kurangi frekuensi pengiriman atau implementasikan antrian dengan penundaan.
- Handshake TLS gagal: Ketidakcocokan sertifikat atau versi TLS yang sudah usang. Periksa bahwa sertifikat SSL server Anda valid dan Anda tidak mencoba menggunakan TLS 1.0 atau 1.1, yang telah dinonaktifkan sebagian besar penyedia.
Daftar Periksa Diagnostik Cepat
- Konfirmasikan port SMTP terbuka dan dapat dijangkau dari lingkungan pengiriman Anda.
-
Verifikasi nama host diselesaikan dengan benar dengan
nslookup smtp.yourdomain.com. - Periksa bahwa IP pengiriman Anda tidak ada di daftar blokir menggunakan alat seperti Pemeriksaan Daftar Blokir MXToolbox .
- Konfirmasikan catatan DNS SPF, DKIM, dan DMARC Anda dipublikasikan dengan benar. Catatan yang hilang atau rusak menyebabkan email yang sah ditolak atau dijunk.
-
Tinjau log server email Anda. Untuk Postfix, periksa
/var/log/mail.log. Kode respons SMTP aktual dalam log memberi tahu Anda dengan tepat apa yang ditolak server jarak jauh dan mengapa.
Apakah Port SMTP Anda Benar-benar Terbuka?
Sebelum menyalahkan konfigurasi SMTP Anda, konfirmasikan masalahnya bukan port yang diblokir. Pemeriksa port gratis kami memungkinkan Anda menguji port 25, 465, atau 587 di server email apa pun secara instan, sehingga Anda tahu apakah Anda berhadapan dengan masalah firewall atau kesalahan konfigurasi.
Periksa Port SMTP Anda Sekarang →
Port 465 menggunakan SSL/TLS implisit, yang berarti seluruh koneksi dienkripsi dari awal. Port 587 menggunakan STARTTLS, yang dimulai sebagai koneksi biasa dan kemudian ditingkatkan ke TLS sebelum mengirim kredensial. Keduanya aman ketika dikonfigurasi dengan benar, tetapi port 587 adalah standar modern yang direkomendasikan untuk pengiriman email klien. Gunakan 465 hanya jika aplikasi Anda secara khusus memerlukan SSL implisit dan tidak dapat mendukung STARTTLS.
Port 25 diblokir di sebagian besar jaringan perumahan dan hosting bersama karena secara historis digunakan untuk mengirim spam langsung dari mesin yang dikompromikan. Dengan memblokir port 25 keluar, ISP dan penyedia cloud (termasuk AWS EC2 secara default) mencegah rentang IP mereka digunakan sebagai sumber spam. Untuk mengirim email dari aplikasi, gunakan port 587. Jika Anda menjalankan server email yang sah yang memerlukan port 25 terbuka untuk relay server ke server, Anda biasanya perlu meminta blokir untuk diangkat oleh penyedia Anda.
Dalam kebanyakan kasus, nama pengguna SMTP Anda adalah alamat email lengkap Anda, misalnya
you@yourdomain.com
. Beberapa sistem yang lebih lama menggunakan hanya bagian lokal sebelum tanda @. Untuk layanan seperti Amazon SES, nama pengguna adalah kredensial SMTP yang dihasilkan IAM terpisah, bukan alamat email Anda sama sekali. Selalu periksa dokumentasi untuk penyedia spesifik Anda. Saat menggunakan Gmail atau Outlook dengan autentikasi dua faktor diaktifkan, Anda perlu membuat kata sandi khusus aplikasi daripada menggunakan kata sandi akun reguler Anda.
Anda dapat menguji di berbagai tingkat. Pertama, periksa bahwa port SMTP dapat dijangkau menggunakan alat pemeriksa port atau dengan menjalankan
telnet smtp.yourdomain.com 587
dari server Anda. Jika port terbuka, Anda dapat menguji handshake SMTP lengkap menggunakan
openssl s_client -starttls smtp -connect smtp.yourdomain.com:587
, yang menunjukkan sertifikat TLS dan memungkinkan Anda mengetik perintah SMTP mentah. Untuk tes end-to-end lengkap tanpa mengirim ke inbox nyata, gunakan layanan seperti Mailtrap, yang menerima koneksi SMTP dan menunjukkan pesan kepada Anda tanpa meneruskannya.
Autentikasi SMTP yang berhasil hanya membuktikan Anda diizinkan menggunakan server. Pemfilteran spam terjadi secara terpisah di ujung penerima dan didasarkan pada kombinasi faktor: apakah IP pengiriman Anda ada di daftar blokir, apakah catatan SPF Anda memberi wewenang kepada IP itu untuk mengirim untuk domain Anda, apakah tanda tangan DKIM Anda valid dan cocok dengan catatan DNS Anda, dan apakah kebijakan DMARC Anda dipublikasikan. Catatan SPF yang hilang atau rusak saja cukup untuk menyebabkan Gmail atau Outlook menjunk pesan Anda. Periksa ketiga catatan DNS dan verifikasi reputasi IP pengiriman Anda.
Ya, tetapi dengan batasan. Server SMTP Gmail (
smtp.gmail.com
di port 587) akan mengirim email terotentikasi sebagai akun Gmail Anda. Jika Anda ingin alamat "Dari" menampilkan domain kustom Anda, Anda perlu menambahkan alamat itu di pengaturan Gmail di bawah "Kirim email sebagai" dan verifikasi kepemilikan. Namun, Gmail menambahkan anotasi "dikirim melalui gmail.com" yang terlihat di beberapa klien email. Untuk pengaturan yang lebih bersih dengan domain Anda sendiri, menggunakan penyedia email transaksional seperti Amazon SES atau relay SMTP khusus adalah pilihan jangka panjang yang lebih baik.