Idea #1 --
Idea #2 --
Simply host both domains on your Zimbra server.
[zimbra@mail ~]zmprov cd oldmail.org
[zimbra@mail ~]zmprov cd newmail.org
Migrate users intact with accounts named firstname.lastname@example.org however you choose to do that. Then bulk rename them with a script to email@example.com and add an alias for firstname.lastname@example.org. Zimbra will catch either address and place it in the users Inbox.
[zimbra@mail ~]zmprov ra email@example.com firstname.lastname@example.org
[zimbra@mail ~]zmprov aaa email@example.com firstname.lastname@example.org
Our employees have two email addresses on two domains in our Zimbra server in each account.
[zimbra@mail ~]$ zmprov ga email@example.com | grep ^mail:
We host several domains on our system and split one of them to another domain outside our system. Anyone who isn't a user on Zimbra gets translated with a new domain and forwarded on to another email server.
[zimbra@mail ~]$ zmprov gd olddomain.tld | egrep "CatchAll|Transport"
It's based on the following... Split Domain - Zimbra :: Wiki
We only do this because we keep some mail and forward the rest. Otherwise the first idea is much easier to implement and troubleshoot.