Zimbra

Mengatasi Zimbra Tidak Mau Lookup MX Record Domain Penerima

Posted by

Beberapa waktu lalu di salah satu klien mengalami kendala di sistem email server Zimbranya. Dimana server Zimbra miliknya tidak bisa mengirim email ke internet, pada mail queue terdapat banyak antrian email, jika dicek secara detail pada zimbra.log, pesan error nya seperti berikut

Mar 12 13:49:39 mtaproxy postfix/error[31755]: 92973C3E5509: to=<[email protected]>, 
relay=none, delay=94071, delays=94071/0.02/0/0.2, dsn=4.4.1, status=deferred 
(delivery temporarily suspended: connect to yahoo.co.id[212.82.100.150]:25: Connection timed out)

Mar 12 13:54:59 mtaproxy postfix/error[676]: A4465C3C68F6: to=<[email protected]>, 
relay=none, delay=83423, delays=83423/0.02/0/0.13, dsn=4.4.1, status=deferred 
(delivery temporarily suspended: connect to gmail.com[172.217.194.18]:25: Connection timed out)

Jika dilihat dari pesan error, ada beberapa asumsi kendala yang terjadi, yaitu :

1. Email server tidak bisa lookup MX record domain tujuan, berarti ada kendala disisi DNS yang digunakan yang tidak bisa lookup, untuk mengecek apakah DNS mengalami kendala atau tidak, bisa coba jalankan tools dig untuk mengecek MX record domain tujuan, command nya seperti berikut, misal dig gmail.com mx

Jika hasilnya seperti ini, muncul MX record dibagian Answer Section, berarti DNS aman, bisa lanjut cek tahap kedua

[zimbra@mtaproxy ~]$ dig gmail.com mx
;; QUESTION SECTION:
;gmail.com.			IN	MX

;; ANSWER SECTION:
gmail.com.		1774	IN	MX	5 gmail-smtp-in.l.google.com.
gmail.com.		1774	IN	MX	40 alt4.gmail-smtp-in.l.google.com.
gmail.com.		1774	IN	MX	20 alt2.gmail-smtp-in.l.google.com.
gmail.com.		1774	IN	MX	10 alt1.gmail-smtp-in.l.google.com.
gmail.com.		1774	IN	MX	30 alt3.gmail-smtp-in.l.google.com.

Baca juga : Enable Fitur Forgot Password pada Zimbra

2. Port 25 outgoing tidak open, pada log diatas ada pesan error connection timeout ketika menghubungi port 25 email server tujuan, (port komunikasi antar email server menggunakan 25), pesan time out ini muncul apabila port 25 outgoing ditutup. Untuk memastikan apakah port 25 outgoing itu ditutup atau tidak, bisa menggunakan tools telnet, dan dijalankan di email server.

Pertama, lihat kembali ke tahap nomor 1, ambil salah satu hasil MX record dari gmail.com, misal gmail-smtp-in.1.google.com, kemudian jalankan command telnet seperti berikut : telnet gmail-smtp-in.l.google.com 25

[root@zimbra ~]$ telnet gmail-smtp-in.l.google.com 25
Trying 142.250.4.27...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP b26si3516635pfp.227 - gsmtp

Jika hasilnya connected seperti diatas, maka untuk port 25 outgoing dipastikan aman dan tidak ada penutupan port 25. Bisa lanjut ke pengecekan tahap tiga

3. Cek konfigurasi di level MTA Zimbra, dari pesan error zimbra.log, connect to nya jika dilihat tidak mengarah ke salah satu MX record domain tujuan, misal nama penerima/tujuan yaitu [email protected], email server tidak melakukan lookup MX record domain yahoo.co.id, melainkan langsung mengarahkan ke IP publik dari yahoo.co.id, akibatnya karena email server yang menangani domain yahoo.co.id itu bukan host yahoo.co.id, email menjadi deffered karena Zimbra ada melakukan kesalahan lookup. Untuk mengatasi hal ini, silakan ubah value pada attribute zimbraMtaSmtpDnsSupportLevel yang sebelumnya disabled menjadi enabled

su - zimbra
zmprov ms `zmhostname` zimbraMtaSmtpDnsSupportLevel enabled
postfix reload

Catatan : Value disabled biasa digunakan apabila email server menggunakan SMTP Relay untuk kirim email ke internet, dan value enabled apabila email server tidak menggunakan SMTP Relay dan langsung menggunakan IP publik email server untuk kirim email ke internet

Selanjutnya silakan requeue postfix agar email-email yang sebelumnya tertahan karena kendala diatas bisa segera terkirim

Semestinya jika tahapan diatas sudah dicek dan dijalankan dengan benar, masalah diatas sudah selesai dan email server sudah kembali normal

Mungkin cukup sekian, semoga bermanfaat

One comment

  1. Kaa izin bertanya , saya sudah melakukan sesuai tutorial di artikel ini , langkah 1 -2 udah Oke . langkah 3 udh di tambahkan script seperti itu , tapi tetap untuk pengiriman ke yahoo statusnya defered. ada solusi lain ??

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.