Mail queue yang menumpuk adalah salah satu masalah paling umum di dunia mail server, baik itu Postfix standalone maupun yang terintegrasi di Carbonio. Biasanya tanda-tandanya kelihatan dari delay pengiriman, email stuck di antrean, atau server terasa lambat karena proses SMTP terus mencoba mengirim ulang pesan.
Di tulisan ini, saya akan bahas langkah-langkah praktis untuk menangani mail queue yang menumpuk, mulai dari cara cek, diagnosa, sampai pembersihan yang aman.
1. Kenapa Mail Queue Bisa Menumpuk?
Ada banyak penyebab, dan sebagian besar bukan berasal dari Postfix itu sendiri. Beberapa alasan paling umum:
- DNS bermasalah (gagal resolve MX)
- Port 25 outbound diblokir ISP / firewall
- Server menerima banyak bounce atau email spam keluar
- Masalah di penerima (remote MTA reject)
- Antivirus / amavis overload
- Disk penuh sehingga Postfix tidak bisa menulis queue
- Aplikasi internal mengirim email terlalu banyak dalam waktu bersamaan
Yang penting: cari dulu penyebabnya, jangan langsung hapus queue.
2. Cek Kondisi Mail Queue
Command paling dasar:
postqueue -p
Atau:
mailq
Untuk lihat jumlah total queue:
postqueue -p | tail -n1
Di sini kalian bisa melihat apakah queue didominasi oleh satu domain, satu sender, atau satu jenis error.
3. Analisa Log untuk Cari Pola Error
Cek log Postfix secara real-time:
journalctl -u postfix -f
Atau manual:
tail -n 200 /var/log/mail.log
Error yang sering muncul:
connection timed outhost not foundconnection refusedblocked using RBL5xx recipient rejected
Dari sinilah kalian bisa menentukan langkah selanjutnya.
4. Pembersihan Queue Dengan Aman
Sebelum hapus, stop dulu sumber pengiriman email jika berasal dari aplikasi atau script supaya queue tidak bertambah.
Flush Queue (coba kirim ulang semuanya)
postfix flush
Hapus per-ID (paling aman)
postsuper -d MESSAGE_ID
Untuk melihat isi email:
postcat -q MESSAGE_ID
Hapus semua pesan yang ada di deferred
(Pakai hanya kalau kalian yakin)
postsuper -d ALL deferred
Hapus semua pesan di queue (sangat destruktif)
Hati-hati, ini menghapus semua email tanpa bisa dikembalikan:
postsuper -d ALL
Langkah ini biasanya hanya dipakai ketika queue sudah benar-benar tidak bisa diselamatkan dan root cause sudah diperbaiki.
5. Periksa DNS, Jaringan, dan Blokir SMTP
Setelah queue mulai bersih, periksa bagian berikut.
Tes DNS
dig mx gmail.com
Tes koneksi port 25 outbound
nc -vz mail.gmail.com 25
Kalau ini gagal, Postfix pasti gagal kirim email.
Cek apakah IP kalian masuk blacklist
Gunakan multi-RBL checker online.
6. Pencegahan Biar Tidak Terulang
Agar mail queue tidak menumpuk lagi, lakukan hal berikut:
- Pastikan DNS server cepat dan stabil
- Pantau mail queue dengan monitoring (Zabbix, Prometheus, Nagios)
- Batasi rate email dari aplikasi internal
- Pastikan disk tidak pernah penuh
- Jika pakai Carbonio, pastikan amavis dan service-discover berjalan normal
- Gunakan SPF, DKIM, DMARC untuk meminimalkan bounce
Kesimpulan
Menangani mail queue yang menumpuk harus dilakukan dengan urutan yang benar:
cek – analisa – stop sumber – flush – delete selektif – perbaiki root cause – pantau ulang.
Jangan langsung hapus queue tanpa inspeksi, karena bisa menghilangkan email penting. Setelah root cause ditemukan, masalah biasanya tidak akan muncul lagi.