Relay per Domain

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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