Relay per Domain

Relay per Domain

   KB 2888        Last updated on 2018-08-6  




0.00
(0 votes)

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 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

ZCS 8.8 instructions

Take backup of '/opt/zimbra/conf/zmconfigd.cf'  and open it with your favorite editor. Look for the "SECTION mta" and add the following line. 
POSTCONF sender_dependent_relayhost_maps    FILE postfix_sender_dependent_relayhost_maps.cf

Note : Do not add anything with "#" it will create problem as this file don't understand that.

cat >> /opt/zimbra/conf/postfix_sender_dependent_relayhost_maps.cf
lmdb:/opt/zimbra/common/conf/relay_domain_conf
cat >> /opt/zimbra/common/conf/relay_domain_conf
@domain.com     10.137.26.10
postmap /opt/zimbra/common/conf/relay_domain_conf

Restart the MTA service or wait it will take this configuration in the next poll of zmconfigd.

Verified Against: ZCS 5.0.16 Date Created: 6/4/2009
Article ID: https://wiki.zimbra.com/index.php?title=Relay_per_Domain Date Modified: 2018-08-06



Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »

Jump to: navigation, search