I'm going to chalk this up to my lack of postfix experience and trying to use
iPlanet terminology/functions with Zimbra. Here's what I concluded.
1) Follow the split-domain setup with zimbta mta second.
2) Create a domain alias for the zimbra mta to accept mail for migrated users
which is *not* the same domain as we're trying to migrate.
3) Create an MX record for the domain alias pointing to the zimbra mta.
4) Forward mail from the legacy mta users to the aliased domain.
Example:
Before -
domain: example.com
MX: example.com mailhost: legacymta.example.com
users:
foo@example.com,
bar@example.com
After:
domain: example.com
MX: example.com mailhost: legacy.example.com
migrate.example.com mailhost: zimbramta.example.com
zimbra config:
domain: example.com <--- target for end of migration
domain alias: migrate.example.com <-- interim alias for migration
users:
foo@example.com <--- migrated to zimbra
Legacy config: <--- will go away after migration
domain: example.com
users:
bar@example.com <-- not migrated
forwarded user:
foo@example.com forwarded to
foo@migrate.example.com
Commands performed on zimbra to enable split domain handling with
the zimbra mta second.
zmprov md example.com zimbraMailCatchAllAddress @example.com
zmprov md example.com zimbraMailCatchAllForwardingAddress @example.com
zmprov md example.com zimbraMailTransport smtp:legacymta.example.com
zmprov mcf zimbraMtaRelayHost legacymta.example.com
zmprov mcf zimbraMtaDnsLookupsEnabled FALSE
Create the domain alias on zimbra.
(*this is a one-line command, split for readability*)
zmprov cd migrate.example.com zimbraDomainType alias \ zimbraMailCatchAllAddress @example.com \ zimbraMailCatchAllForwardingAddress @example.com
Conclusion:
Mail sent to the migrated user
foo@example.com via
legacymta -> forwarded to
foo@migrate.example.com -> MX Checked ->
to zimbramta.example.com -> aliased to example.com ->
delivered to
foo@example.com on zimbra.
zimbramta -> delivered to
foo@example.com on zimbra.
Mail sent to non-migrated user
bar@example.com via
legacymta -> delivered to
bar@example.com on legacymta
zimbramta -> not found locally, forwarded via catchalladdress to ->
legacymta.example.com -> delivered to
bar@example.com on legacymta
*When migration is complete, the migrate alias can be removed *and*
MX records can be set to zimbra for example.com *and* we can adjust/remove the forwarding/catchalladdresses *and* enable DNS lookups.
Doug