Pernahkah kalian membuat script untuk mengirimkan email yang terjadwal dengan cronjob? Atau pernahkah kalian menggunakan perintah mail untuk mengirim email di Linux kalian?
Jika iya, maka kalian pasti menemukan informasi sender yang kalian gunakan untuk mengirim pesan, menggunakan FQDN sebagai domain.
Sebagai contoh:
- Username: fulan
- Valid email: fulan@domain.com
- FQDN: zimbra1.domain.com
Ketika user fulan mengirim email menggunakan perintah mail di Linux, informasi sender untuk email tersebut akan menjadi fulan@zimbra1.domain.com.
Hal ini tentu tidak akan jadi masalah jika email hanya dikirim ke internal. Baru akan menjadi masalah jika pesan dikirim ke eksternal. Pasalnya beberapa mail server akan mereject pesan yang menggunakan internal address karena dianggap bukan domain yang valid, sekaligus untuk mencegah pesan spam masuk ke dalam mail server mereka.
Solusi
Karena Zimbra menggunakan Postfix sebagai Mail Transfer Agent (MTA), kita dapat menggunakan fitur smtp_generic_maps di Postfix yang dimapping oleh Zimbra sebagai zimbraMtaSmtpGenericMaps sebagai solusi untuk permasalahan ini.
Seperti yang tertulis pada halaman dokumentasi Postfix
Some hosts have no valid Internet domain name, and instead use a name such as localdomain.local. This can be a problem when you want to send mail over the Internet, because many mail servers reject mail addresses with invalid domain names.
Postfix — “Generic mapping for outgoing SMTP mail”
With the smtp_generic_maps parameter you can specify generic(5) lookup tables that replace local mail addresses by valid Internet addresses when mail leaves the machine via SMTP. The generic(5) mapping replaces envelope and header addresses, and is non-recursive. It does not happen when you send mail between addresses on the local machine.
Konfigurasi generic map di Zimbra
Sebagai user zimbra, buatlah file dengan nama generic_maps di dalam direktori /opt/zimbra/conf
touch /opt/zimbra/conf/generic_maps
Edit file tersebut dengan text editor dan sesuaikan rules kalian seperti di bawah ini
fulan@zimbra1.domain.com fulan@domain.com
Jika penyamarannya ingin kalian terapkan untuk semua user, maka sesuaikan seperti di bawah ini
@zimbra1.domain.com @domain.com
Simpan dan postmap file tersebut
postmap /opt/zimbra/conf/generic_maps
Perintah di atas akan menghasilkan file baru bernama generic_maps.lmdb di dalam direktori yang sama
Selanjutnya jalankan perintah di bawah ini untuk konfigurasi generic maps pada Zimbra
zmprov ms <zimbra-mta-server> zimbraMtaSmtpGenericMaps 'lmdb:/opt/zimbra/conf/generic_maps'
Lakukan restart service MTA
zmmtactl restart
pengetesan
Jalankan perintah di bawah
echo "tes kirim" | mail -s "Coba Tes Kirim" recipient@domain.com
Contoh log sebelum mengaplikasikan konfigurasi generic map

Contoh log setelah mengaplikasikan konfigurasi generic map

Pranala luar:
Postfix Address Rewriting
How To Rewrite Email Addresses
Zimbra Postconf Keys
