Most migration problems are not caused by copying mail. They come from doing the steps in the wrong order: switching MX before mailboxes exist, forgetting an alias, or turning off the old server while mail is still arriving there. This checklist is the order we recommend.
1. Inventory (a week before)
- List every mailbox, shared mailbox and alias on the old server. Aliases are easy to forget and are not mailboxes: recreate them on the new side.
- Note the sizes. Large mailboxes decide how long the project takes. The console's size check lists each account and flags messages larger than the new server accepts.
- Find out how people sign in. Gmail and Microsoft 365 need their own sign-in (OAuth) or app passwords; many hosting mailboxes use the plain mailbox password.
2. Prepare the new side
- Create the users or mailboxes and assign licences before you copy anything.
- Turn on IMAP where the provider needs it (Microsoft 365 per mailbox, Google Workspace in the Admin console).
- Add the domain to the new provider and verify it, but do not change MX yet.
3. First copy (days before the switch)
- Validate all logins first. Fix wrong passwords now, not during the cutover.
- Run the full copy. It can take days for big mailboxes because providers limit upload speed; that is normal.
- Turn on ongoing sync so new mail keeps being copied until the switch.
4. The switch
- Lower the MX record TTL to 300 seconds a day ahead, so the change spreads quickly.
- Change MX to the new provider. Update SPF, and add DKIM and DMARC for the new sender.
- Run the final sync a few hours after the switch: mail that still reached the old server during DNS propagation is copied over.
5. The day after
- Run the source and target comparison: every Message-ID on the old server is looked up on the new one, and anything missing is listed.
- Reconnect phones and mail apps to the new server.
- Keep the old mailboxes read-only for a couple of weeks before cancelling them.
Common mistakes
| Mistake | What happens | Avoid it by |
|---|---|---|
| Switching MX before creating mailboxes | New mail bounces | Creating users first |
| Cancelling the old hosting on switch day | Late mail is lost | Keeping it for 2 weeks |
| Forgetting aliases | Mail to info@ or sales@ bounces | Listing aliases in step 1 |
| No SPF/DKIM update | Sent mail lands in spam | Updating DNS in step 4 |