You can setup a transport lookup table to override the nexthop on mail delivery.
In /etc/postfix/main.cf
transport_maps =
hash:/etc/postfix/mytransport_override
In /etc/postfix/mytransport_override
you write
migrated_address1@yourdomain smtp:zimbra.yourserver
migrated_address2@yourdomain smtp:zimbra.yourserver
another__migrated@yourdomain smtp:[zimbra.yourserver]
Then postmap hash:/etc/postfix/mytransport_override
I see no issues with spam or being your mail messages treated as spam (as long as your dns entries like PTR records, A records, MX records are okay).
EDIT
Good point in the comments:
if you want to avoid MX records lookup add brackets around the hostname.
Example is in the last line. Generally it is a good practice to use brackets to avoid surprises.
Webmail MTA hostname
Exactly what it says. It's hostname for your server. Since zimbra can be clustered, and you can have multiple servers each one should (ideally) have unique hostname.
eg:
mta1.myzimbra.tld
mta2.myzimbra.tld
This setting should match your unix hostname (for RHEL located @ /etc/sysconfig/network)
Relay MTA for external delivery
Usage scenario: Your zimbra is on your LAN behind a NAT. You use it primarily to send mail in your organisation/company, but your network admin allows connections only to ONE specific external SMTP server.
Your e-mail is john@mycompany.tld and you want to send an e-mail to john.doe@gmail.com, you need to specify external MTA relay hostname.
So it goes: your internal zimbra->external MTA->gmail
Inbound SMTP host name
You do not trust zimbra amavis to sort out your e-mails and do spam and virus checks.
Your MX points to some other machine that does all that for you and then push it to zimbra.
You need to set that hostname so zimbra knows where your e-mail comes from.
MTA Trusted Networks
On a zimbra cluster (multiple servers, one for ldap, other for mta, third for store, fourth for proxy) you should not use global settings for trusted networks. Trusted networks can, depending on your configuration, relay without auth and do some other stuff that non-trusted IP's cannot.
If your using monolithic zimbra conf (everything on one server) you can use either global, or specific settings.
I hope that clears all the issues for you. If you have more questions, ask :)
Best Answer
What you are describing is a split domain situation. This is well documented on the Zimbra wiki. What you want is the following:
example.org
is routed to Zimbra.example.org
, for examplefoo@example.org
does not exist in Zimbra, it must be routed to the other mail system.Basically the commands you need in your Zimbra are the following:
$ zmprov md example.org zimbraMailCatchAllAddress @example.org $ zmprov md example.org zimbraMailCatchAllForwardingAddress @example.org $ zmprov md example.org zimbraMailTransport smtp:the-other-mail-server.example.org