Ada suatu kondisi dimana email server tidak dapat mengirimkan email pada user/domain tertentu. Kondisi ini saya temukan pada salah satu klien didaerah BSD Tangerang. Email server yang mereka setup sudah sesuai dengan standard improvement dan security seperti adanya SPF Records, DKIM Records dan PTR Records.
Anehnya, email server mereka tidak dapat menghubungi MX records dari salah satu domain yang dituju dengan pesan no MX records here/no smtp service here. Padahal, jika dicek menggunakan perintah dig atau nslookup, didapatkan informasi perihal MX records terhadap domain tersebut. Dicoba dengan mengganti IP Public email server dengan IP Public yang baru, hasilnya tetap sama. Sepertinya hampir semua IP Public yang berasal dari IP Network/segmen tersebut terkena blacklist pada domain tersebut, namun dengan pesan seolah tidak ada SMTP service.
Agar dapat mengirimkan email pada domain tersebut, akhirnya mereka menggunakan layanan Excellent SMTP Relay untuk pengiriman External. Namun, mereka ingin agar tidak semua pengiriman email dilewatkan melalui Excellent SMTP Relay. Hanya domain tertentu saja yang tidak dapat dikirim secara langsung.
Dikarenakan email server yang mereka gunakan adalah Zimbra, maka langkah yang dilakukan adalah sebagai berikut :
# Buat transportfile untuk user/domain tujuan yang akan direlay
[code lang=’bash’]
su – zimbra
vi /opt/zimbra/postfix/conf/transportfile
[/code]
Isi dengan contoh sebagai berikut :
user@domain1.com :[relay.example.com] domain2.com :[relay.example.com]
Contoh file konfigurasi diatas akan melakukan relay setiap pengiriman email ke user@domain1.com atau ke domain2.com melalui server relay.example.com. Jika server Relay menggunakan port seperti port 465, 587 ataupun port yang lainnya, silakan ubah pada server relay seperti ini [relay.example.com]:587
# Postmap Transport
[code lang=’bash’]
postmap /opt/zimbra/postfix/conf/transportfile
[/code]
# Tambahkan transport table
[code lang=’bash’]
zmprov ms mail.example.com zimbraMtaTransportMaps “lmdb:/opt/zimbra/postfix/conf/transportfile,proxy:ldap:/opt/zimbra/conf/ldap-transport.cf”
[/code]
Note : Ubah mail.example.com dengan nama email server Zimbra anda.
# Restart Services Zimbra
[code lang=’bash’]
zmcontrol restart
[/code]
Silakan coba kirim email dengan tujuan user/domain yang telah direlay. Seharusnya, pengiriman pada user/domain tersebut direlay pada relay server. Dan pengiriman selain pada user/domain yang dikonfigurasi relay, akan dikirimkan secara langsung.
Note : Jika melakukan penambahan, menghapus atau mengubah pada file transportfile, jangan lupa untuk melakukan postmap dan cukup reload server Postfix Zimbra (postfix reload)
Ket : Sebenarnya pengalaman ini sudah lama dan klien menggunakan Zimbra versi 8.0.x dan berhasil melakukan relay dengan panduan pada link berikut : http://www.excellent.co.id/product-services/zimbra/tips-zimbra-relay-berdasarkan-userdomain-penerima/. Namun, pada Zimbra versi 8.5/8.6 ini sedikit berbeda dengan konfigurasi pada link tersebut. Jika suatu saat diaplikasikan pada Zimbra versi 8.5/8.6, maka panduan pada artikel ini dapat digunakan sebagai pengingat 😀
Silakan dicoba dan semoga bermanfaat 😀
salam kenal mas
saya baru suka dengan zimbra
minta bantuannya versi zimbra saya adalah 8.8.10
vi /opt/zimbra/postfix/conf/transportfile
ini tidak ada,,, folder posfix sendiri adanya di /zimbra/data/postfix
mohon pencerahannya
Hi mas,
Untuk lokasi bisa dibuat dimana saja. Misalnya di folder /opt/zimbra/conf. Nanti disesuaikan juga path pada perintah zmprov nya
bagaimana cara nya untuk remove/undo transport table ?
zmprov ms mail.example.com zimbraMtaTransportMaps “lmdb:/opt/zimbra/postfix/conf/transportfile,proxy:ldap:/opt/zimbra/conf/ldap-transport.cf”
Hi mas,
Bisa dijalankan ulang tanpa menyertakan konfigurasi path transportfile.
mas gmn sebalik nya, ada beberapa acount email yg di buat untuk tidak lewat relay sending nya kira2 bisa tidak
Hi mas,
Mungkin panduan yang ini cocok: https://imanudin.net/2014/12/26/relay-tips-based-on-userdomain-sender-on-zimbra-8-5-8-6/