Sebenarnya tulisan ini sama dengan tulisan yang sebelumnya dijelaskan pada link berikut : http://ahmad.imanudin.com/2013/05/06/improvement-anti-spam-zimbra-restricted-sendersender-must-login-pada-zimbra-8/, namun yang membedakan adalah adanya Exception/Pengecualian. Seperti penjelasan sebelumnya mengenai sender must login/fake mail ini adalah sebuah account email tidak dapat menyamar menjadi orang lain. Misalnya account ahmad@imanudin.com menyamar menjadi iman@imanudin.com. Namun terkadang butuh kondisi exception untuk keperluan tertentu. Berikut improvement yang dapat dilakukan untuk mendapatkan kondisi exception

Masuk sebagai user Zimbra

su - zimbra
vi /opt/zimbra/conf/zmconfigd.cf

Tambahkan baris berikut dibawah tulisan POSTCONF smtpd_sender_restrictions FILE zmconfigd/smtpd_sender_restrictions.cf

POSTCONF smtpd_sender_login_maps FILE zmconfigd/postfix_sender_login_maps.cf

Simpan hasil konfigurasi yang dilakukan dan masuk pada folder /opt/zimbra/conf/zmconfigd/

cd /opt/zimbra/conf/zmconfigd/
vi smtpd_sender_restrictions.cf

Masukkan baris berikut pada baris paling atas

permit_mynetworks, reject_sender_login_mismatch

Buat file yang baru saja di deklarasikan pada zmconfigd.cf

vi postfix_sender_login_maps.cf

Isi dengan isian berikut :

hash:/opt/zimbra/conf/exceptions-db
ldap:/opt/zimbra/conf/ldap-slm.cf

Masuk pada folder /opt/zimbra/conf dan buat file ldap-slm.cf

cd /opt/zimbra/conf
grep server_host /opt/zimbra/conf/ldap-vam.cf
grep bind_pw /opt/zimbra/conf/ldap-vam.cf
vi ldap-slm.cf
server_host = ldap://HOST:389
server_port = 389
search_base =
query_filter = (&(|(zimbraMailDeliveryAddress=%s)(zimbraMailAlias=%s)(zimbraMailCatchAllAddress=%s)(mail=%s))(zimbraMailStatus=enabled))
result_attribute = zimbraMailDeliveryAddress,zimbraMailForwardingAddress,zimbraPrefMailForwardingAddress,zimbraMailCatchAllForwardingAddress,uid
version = 3
start_tls = yes
tls_ca_cert_dir = /opt/zimbra/conf/ca
bind = yes
bind_dn = uid=zmpostfix,cn=appaccts,cn=zimbra
bind_pw = PASSWORD
timeout = 30

Ganti server_host dan bind_pw dengan tulisan yang dihasilkan oleh perintah grep diatas. Simpan dan exit

Buat pengecualian untuk salah satu user. User tersebut dapat mengirimkan email dan mengaku sebagai user/domain yang ditentukan

vi exceptions-db

Isi dengan contoh pola seperti ini

iman@imanudin.com       ahmad@imanudin.com
@excellent.co.id        ahmad@imanudin.com

Dari isian diatas dimaksudkan  bahwa user ahmad@imanudin.com dapat mengaku sebagai user iman@imanudin.com atau sebagai user dengan domain @excellent.co.id. Jalankan perintah berikut untuk melakukan postmap hash

/opt/zimbra/postfix/sbin/postmap /opt/zimbra/conf/exceptions-db

Chown file yang baru saja dibuat dan restart service zimbra

chown zimbra: exceptions-db* ldap-slm.cf
postfix reload

Silakan dicoba dan semoga bermanfaat 😀

Note : Jika melakukan penambahan user exception, jangan lupa untuk melakukan postmap kembali dan postfix reload

Referensi : http://ahmad.imanudin.com/2013/05/05/improvement-anti-spam-zimbra-restricted-sendersender-must-login-pada-zimbra-7/