I have a condition where my customers cannot sending email for some domain by directly. I give an advice to them for using Relay for all external delivery. But they do not want all external delivery using relay for security reason. They want just some domain receiver for using relay. Okay, because them using Zimbra 8.5/8.6, i can do relay for some domain only.
# Create transport for domain receiver that would be relay
su - zimbra vi /opt/zimbra/postfix/conf/transportfile
Fill with the following example
domain1.com :[relay.example.com] domain2.com :[relay.example.com] firstname.lastname@example.org :[relay.example.com]
The above example, every sending email to domain1.com and domain2.com or email@example.com, will be relay to relay.example.com. If your relay server using port such as 465, 587 or another port, you can change like this [relay.example.com]:587
# Postmap Transport
# Adding Transport table
zmprov ms mail.example.com zimbraMtaTransportMaps "lmdb:/opt/zimbra/postfix/conf/transportfile,proxy:ldap:/opt/zimbra/conf/ldap-transport.cf"
Change mail.example.com with your hostname of email server. Or you can using `zmhostname` for independently
# Restart Zimbra Services
Please try to sending email. Every sending email to domain1.com and domain2.com or firstname.lastname@example.org, email server will be relay to relay.example.com. if sending email to another domain, email server will directly without relay to relay server
Note : if adding/delete user or domain in transportfile, don’t forget to postmap and reload postfix Zimbra (postfix reload)
Good luck and hopefully useful 😀