Pendahuluan
Setelah Postfix, Dovecot, OpenDKIM, serta SPF, DKIM, dan DMARC selesai dikonfigurasi, tahap wajib berikutnya adalah pengujian menyeluruh (testing).
Testing ini bertujuan untuk memastikan bahwa:
- Server dapat mengirim email
- Server dapat menerima email
- Autentikasi user berfungsi
- TLS aktif dan aman
- SPF, DKIM, dan DMARC berjalan dengan benar
Artikel ini membahas testing lengkap mail server dari sisi server dan client, dengan pendekatan yang mudah dipahami oleh pemula.
1. Tujuan Testing Mail Server
Sebelum masuk ke perintah teknis, pahami tujuan testing berikut:
- Memastikan Postfix mendengarkan port yang benar
- Memastikan Dovecot melayani IMAP dengan TLS
- Memastikan SMTP AUTH bekerja
- Memastikan email ditandatangani DKIM
- Memastikan email lolos SPF dan DMARC
Testing dilakukan bertahap, dari level paling dasar hingga level aplikasi.
2. Testing Port dan Service Aktif
2.1 Cek Port yang Aktif
Jalankan perintah:
ss -tulpn
Port yang wajib terlihat:
| Port | Service | Keterangan |
|---|---|---|
| 25 | Postfix | SMTP antar server |
| 587 | Postfix | SMTP Submission (AUTH) |
| 993 | Dovecot | IMAPS |
| 8891 / socket | OpenDKIM | DKIM signing |
Jika salah satu port tidak aktif:
- Periksa service terkait
- Periksa firewall
2.2 Cek Status Service
sudo systemctl status postfix
sudo systemctl status dovecot
sudo systemctl status opendkim
Pastikan semua berstatus:
active (running)
3. Testing SMTP (Port 25)
Testing ini hanya untuk memastikan SMTP server menerima koneksi, bukan untuk user login.
telnet localhost 25
Jika berhasil, akan muncul:
220 mail.alfasmk.my.id ESMTP Postfix
Keluar dari telnet:
quit
Jika gagal:
- Postfix tidak berjalan
- Port 25 diblokir firewall
- Konfigurasi Postfix error
4. Testing SMTP Submission + AUTH (Port 587)
4.1 Cek TLS di Port 587
openssl s_client -connect mail.alfasmk.my.id:587 -starttls smtp
Jika TLS aktif, akan terlihat:
- Sertifikat Let’s Encrypt
- Baris
Verify return code: 0 (ok)
Ini menandakan:
- TLS aktif
- Sertifikat valid
4.2 Testing Login SMTP AUTH
sudo apt install swaks -y
Test kirim email:
swaks \
--to tujuan@gmail.com \
--from user@alfasmk.my.id \
--server mail.alfasmk.my.id \
--auth LOGIN \
--auth-user user \
--auth-password PASSWORD \
--tls \
--port 587
Jika sukses, akan muncul:
250 2.0.0 Ok: queued as XXXXX
Jika gagal:
- AUTH salah
- Dovecot AUTH tidak terhubung
- TLS belum aktif
5. Testing IMAP (Port 993)
5.1 Test TLS IMAP
openssl s_client -connect mail.alfasmk.my.id:993
Jika berhasil:
- Sertifikat tampil
- Tidak ada error TLS
5.2 Test Login IMAP
a login user PASSWORD
Jika berhasil:
a OK Logged in
Jika gagal:
- User tidak ada
- Password salah
- Maildir belum dibuat
- Dovecot AUTH error
6. Testing Mailbox (Maildir)
Pastikan mailbox user ada:
ls -l /home/user/Maildir
Struktur normal:
cur/
new/
tmp/
Jika tidak ada:
- Dovecot tidak bisa menulis email
- Login bisa gagal
7. Testing Kirim & Terima Email (End-to-End)
7.1 Test Kirim ke Gmail
- Kirim email dari
user@alfasmk.my.idke Gmail - Pastikan email sampai inbox
7.2 Test Terima dari Gmail
- Kirim email dari Gmail ke
user@alfasmk.my.id - Login IMAP dan pastikan email masuk
Jika gagal:
- MX record salah
- Firewall port 25 tertutup
- Postfix tidak menerima email
8. Verifikasi SPF, DKIM, dan DMARC
8.1 Cek Header di Gmail
- Buka email di Gmail
- Klik Show original
Pastikan status:
SPF: PASS
DKIM: PASS
DMARC: PASS
8.2 Arti Jika Gagal
| Status | Arti |
|---|---|
| SPF FAIL | IP tidak diizinkan |
| DKIM FAIL | Signature salah |
| DMARC FAIL | SPF/DKIM tidak align |
9. Testing DNS Secara Manual
dig MX alfasmk.my.id
dig TXT alfasmk.my.id
dig TXT default._domainkey.alfasmk.my.id
dig TXT _dmarc.alfasmk.my.id
Pastikan:
- MX menunjuk ke mail server
- SPF, DKIM, dan DMARC muncul dengan benar
10. Monitoring Log Saat Testing
Buka log secara realtime:
sudo tail -f /var/log/mail.log
Perhatikan:
- Error AUTH
- Error TLS
- Error DKIM
- Rejected mail
Log adalah sumber informasi utama saat troubleshooting.
11. Kesalahan Umum Saat Testing
| Masalah | Penyebab |
|---|---|
| AUTH gagal | Socket Dovecot salah |
| TLS error | Sertifikat salah |
| Email masuk spam | SPF/DKIM/DMARC fail |
| Tidak bisa terima email | MX / port 25 |
| IMAP timeout | Firewall |
12. Checklist Akhir Testing Mail Server
- SMTP port 25 aktif
- SMTP Submission (587) + AUTH sukses
- IMAP (993) aktif
- TLS valid
- SPF PASS
- DKIM PASS
- DMARC PASS
- Email masuk inbox Gmail
Jika semua checklist terpenuhi, mail server siap digunakan di lingkungan produksi.
Penutup
Testing adalah tahap paling krusial dalam membangun mail server.
Server yang terlihat berjalan belum tentu siap dipakai sebelum diuji secara menyeluruh.
Dengan melakukan testing SMTP, IMAP, TLS, dan DNS secara lengkap, risiko error di kemudian hari dapat ditekan secara signifikan.
