Relay per Domain
Relay per Domain
Reference bugs: http://bugzilla.zimbra.com/show_bug.cgi?id=32740 and https://bugzilla.zimbra.com/show_bug.cgi?id=95348
Zimbra allows relaying emails to a specific server only, i.e using zimbraMtaRelayHost. However, there are needs to relay emails per domain basis based on the sender. For example, you want emails sent by users@domain1.com should be relayed through smtp.domain1.com and users@domain2.com through smtp.domain2.com servers. You can configure it using postfix's "sender_dependent_relayhost_maps".
This is an example that has been tested on ZCS 5.0.16 and ZCS 7.1.4
Note: Below settings will not survive zimbra upgrades. Make sure you take backup of config files before upgrading.
1. Add following line to /opt/zimbra/postfix/conf/main.cf
Pre 8.5: sender_dependent_relayhost_maps = hash:/opt/zimbra/postfix/conf/bysender 8.5: sender_dependent_relayhost_maps = lmdb:/opt/zimbra/postfix/conf/bysender
2. Create file /opt/zimbra/postfix/conf/bysender and enter your domain names and relay server's IP addresses.
@domain1.com [10.10.10.1] @domain2.com [20.20.20.1]
You can even add individual email IDs to relay their emails to specific relay host.
user@domain.com [10.10.10.2]
3. Create the hash file.
postmap /opt/zimbra/postfix/conf/bysender
4. Restart zmmtactl
zmmtactl stop zmmtactl start
5. Test by sending emails.
ZCS 8.7 instructions
1. Open /opt/zimbra/common/conf/main.cf.default file for editing with your favorite editor (e.g. vi).
2 . Find the sender_dependent_relayhost_maps parameter and set it to be lmdb:/opt/zimbra/common/conf/bysender
sender_dependent_relayhost_maps = lmdb:/opt/zimbra/common/conf/bysender
Description:
sender_dependent_relayhost_maps (default: empty) A sender-dependent override for the global relayhost parameter setting.The tables are searched by the envelope sender address and @domain.
3.Create a file /opt/zimbra/common/conf/bysender and enter your domain names and relay server's IP addresses.
@domain1.com [10.10.10.1] user@domain2.com [20.20.20.1]
4. Create the hash file.
postmap /opt/zimbra/common/conf/bysender
5.
zmmtactl stop; zmmtactl start