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 email@example.com however you choose to do that. Then bulk rename them with a script to firstname.lastname@example.org and add an alias for email@example.com. Zimbra will catch either address and place it in the users Inbox.
[zimbra@mail ~]zmprov ra firstname.lastname@example.org email@example.com
[zimbra@mail ~]zmprov aaa firstname.lastname@example.org email@example.com
Our employees have two email addresses on two domains in our Zimbra server in each account.
[zimbra@mail ~]$ zmprov ga firstname.lastname@example.org | 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.