For our company:
- Our email domain is company.com
- Our new AD domain is corp.company.com
Let's say user "juser@company.com" needs to be migrated from IMail to Exchange. In IMail, we go into his account, and set up a forward to "juser@corp.company.com". So any mail destined for "juser@company.com" is basically forwarded to his Exchange account. We configured Exchange to basically listen on both "company.com" and "corp.company.com" with the former being relayed back to IMail. Once we get all users on Exchange, we'll change the external MX record to point to Exchange.
The biggest downside of doing it this way is the double-account maintenance -- Since all mail is still going through IMail, every user will need both an IMail and an Exchange account. Another downside revolves around permissions with mailing lists.
As many details as I can remember are below:
In Exchange:
1. Since our AD domain is corp.company.com, that is the default SMTP address it tries to use -- I changed the default to be simply "company.com", BUT I left "corp.company.com" as a secondary SMTP address.
2. Set up a "Send Connector" from our Hub Transport server to our external SMTP server (in our case, our spam filter - both IMail and Exchange are using it for sending external mail).
3. Also under the "Hub Transport" node, configured "company.com" as an "Internal Relay Domain".
-- Exchange is now relaying "company.com" mail to our external SMTP server
In IMail:
1. For each account, simply set up a forward to the "corp.company.com" address.