Migrating Custom Domain Email With Zero Downtime

The short answer
Lower your MX record's TTL a few days ahead so the change propagates fast, then copy existing mail into the new provider by IMAP while the old mailboxes stay live. Cut MX, keep both mailboxes receiving during propagation, run a final catch-up sync, and update SPF, DKIM and DMARC before you decommission the old provider.
How to migrate custom domain email without downtime: lower MX TTL, pre-seed mailboxes, run a dual-delivery window, and fix SPF, DKIM and DMARC.
On this page
Moving a domain's mailboxes from one provider to another sounds like it should be a single switch, but it is really a DNS event with real failure modes: bounced mail, a delivery gap, and outbound that suddenly fails authentication. The good news is that with the right order of operations, you can learn how to migrate custom domain email without downtime — no lost messages, and no visible gap for the people writing to you.
Your email addresses do not change in this kind of move. The domain stays the same. What changes is the MX record that tells the internet which server accepts mail for it, plus the SPF, DKIM and DMARC records that decide whether your sent mail is trusted.
This guide is provider-agnostic. The exact admin screens differ between Google Workspace, Microsoft 365, Fastmail, Zoho and the rest, and they change on their own release schedules, so it links to the vendors' live documentation for the click-by-click and focuses on the sequence that keeps mail flowing while you switch.
What actually moves — and what doesn't#
A custom-domain migration has two halves that people often conflate. One is inbound: where new mail is delivered, controlled entirely by the MX record. The other is your existing mailbox contents — years of mail, folders, read state, and sometimes contacts and calendar — which has to be copied across separately, usually over IMAP.
The MX change is instant to make and slow to spread. Copying mailbox contents is slow to run but touches nothing the outside world sees. Keeping those two facts apart is what makes a clean migration possible: you copy everything first, at your own pace, and flip the switch last.
| What you're moving | How it moves | Automatic? |
|---|---|---|
| New incoming mail | The MX record — repoint it at the new provider | Yes, once MX propagates |
| Existing mail, folders and read state | IMAP copy or the provider's own import tool | No — you run it, and it can take hours |
| Contacts and calendar | A dedicated import, not IMAP | No — IMAP moves mail only |
| Your email addresses | Nothing — the domain and addresses stay identical | N/A — they don't change |
| Server-side filters, rules and autoresponders | Recreate by hand at the new provider | No |
| Aliases, distribution lists and forwards | Recreate at the new provider before cutover | No |
| DKIM keys and sending reputation | New provider issues new DKIM keys; reputation rebuilds | No — you publish new records |
IMAP moves mail, and only mail
Pre-migration checklist#
Most migrations that lose mail fail here, in preparation, not in the copy itself. Work through this before you touch a single DNS record — several items have to be true before the ones after them will work.
- Confirm you have edit access to the domain's DNS zone at the registrar or DNS host. MX, SPF, DKIM and DMARC all change, and discovering mid-cutover that someone else controls DNS is the classic stall.
- Check the current TTL on the MX record. Whatever it is now is how long old copies linger in resolver caches, so you lower it first and wait out the old value.
- Create every mailbox at the new provider with the exact address it has today, before copying anything. An IMAP import has nowhere to land without the target mailbox already existing.
- Inventory mailbox sizes. A 40 GB mailbox's first IMAP pass can run for many hours; knowing that up front tells you when to start.
- Collect the new provider's SPF include, DKIM selector records and recommended DMARC value now, so publishing them at cutover is a paste, not a research task.
- List every server-side filter, alias, forward and autoresponder on the old provider. None of these travel over IMAP — you recreate them.
- Decide how you'll handle residual mail — forwarding from the old provider to the new, or a final catch-up sync — before, not during, the cutover.
- Tell users the cutover window and ask them not to change server-side filters or delegate settings during it.
Run one pilot mailbox end to end
The migration steps#
- 1
Lower the MX record TTL
At least 24 to 72 hours before cutover, drop the MX record's TTL to a low value such as 300 seconds. A short TTL is the only control you have over propagation speed — but it only takes effect after the previous TTL has expired everywhere, which is why you do it days ahead, not on the day.
- 2
Provision mailboxes at the new provider
Create each mailbox with its exact current address. An IMAP import has nowhere to deliver otherwise, and Microsoft's documentation notes plainly that IMAP migration does not create the mailboxes for you.
- 3
Copy existing mail over IMAP
Point the new provider's import tool at the old server over IMAP and run the first full pass while the old provider still receives live mail. Nothing the outside world sees changes yet — this is a copy, not a cutover.
- 4
Publish the new SPF, DKIM and DMARC records
Add the new provider's SPF include, publish its DKIM selector records under _domainkey, and confirm your DMARC record still aligns. Do this before or at cutover so your first outbound from the new provider passes authentication.
- 5
Cut the MX record
Repoint MX at the new provider's mail exchanger. This is the only step that redirects new mail. From here, delivery shifts to the new server as each resolver's cached MX expires — fast for most, slower for a few.
- 6
Run the dual-delivery window
For as long as propagation lasts, both servers may receive mail. Keep both mailboxes live and either forward residual mail from the old provider to the new one, or run repeated IMAP catch-up passes so nothing is stranded.
- 7
Run a final catch-up sync
Once the MX change has fully propagated and no new mail is arriving at the old server, run one last IMAP pass to pull anything that landed there during the window.
- 8
Decommission the old provider last
Only after the final sync — and ideally a trailing week or two of monitoring — cancel or downgrade the old mailboxes. A deleted source mailbox is the one step in this list you cannot cleanly undo.
What breaks during an MX change#
Almost every failure in a domain migration is a timing or record problem, not lost data — which is also why the sequence above prevents most of them. These are the ones worth planning around.
| What breaks | Why | How to avoid it |
|---|---|---|
| Some senders keep hitting the old server for hours | Their resolver still has the old MX cached until its TTL expires | Lower the MX TTL days ahead, and keep the old mailbox live and forwarding through the window |
| Mail bounces during cutover | The old mailbox was deleted before propagation finished, so cached-MX senders hit a dead server | Never decommission the source until the change has fully propagated and a final sync is done |
| Your outbound suddenly lands in spam or is rejected | The new provider is sending, but SPF and DKIM still authorize only the old one | Publish the new SPF include and DKIM records before you send from the new provider |
| SPF fails with a permerror | Two separate SPF TXT records now exist, which is invalid — a domain may publish only one | Merge every include into a single SPF TXT record, not a second one |
| DMARC starts failing your own mail | A strict p=reject policy plus unaligned SPF and DKIM at the new provider bounces your outbound | Confirm SPF and DKIM alignment at the new provider before cutover, or relax DMARC to p=none during the transition |
| Filters, aliases and autoresponders stop working | These live server-side at the old provider and don't travel over IMAP | Recreate them at the new provider before cutover, from the list you inventoried |
The dual-delivery window, visually#
The single idea that makes zero-downtime migration work is that an MX change is not atomic. For a stretch of time — bounded by the TTL you set — some mail servers on the internet still deliver to your old provider while others have already picked up the new one. Nothing is lost as long as both mailboxes accept mail and you reconcile what landed where.
This is why the plan keeps both providers receiving through the transition instead of switching instantly. The overlap is the safety net, not a mistake.

Rollback plan#
A domain migration is close to fully reversible right up to the MX cutover, and stays reversible for a while after — as long as you kept the old provider active. The whole rollback plan is one rule: don't cancel the source until you're sure.
- Before MX cutover: there is nothing to roll back. The old provider is still authoritative for delivery; the copied mail at the new provider is only a copy.
- Right after cutover, if delivery breaks: point MX back at the old provider. It takes the same TTL-bound time to propagate back as it did forward — another reason the low TTL matters both ways.
- Keep the old provider's SPF include in place a little longer rather than removing it the instant you cut over. Pulling it too early is a common self-inflicted bounce.
- Set a rollback trigger in advance — for example, more than a handful of missing-mail reports in the first few hours — and name who has the authority to call it.
- Don't delete the old mailboxes for at least a couple of weeks. A cancelled mail plan is not reversible the way a DNS record is.
Doing it without downtime#
"Zero downtime" does not mean the change is instant — it means no message is ever bounced or lost while DNS propagates. You get there by giving the old and new providers a deliberate overlap, not a hard switch.
Lowering the MX TTL ahead of time shrinks the propagation window; keeping both mailboxes live through it means mail delivered to either server has somewhere to land. Forwarding residual mail from the old provider to the new one — or a final IMAP catch-up pass — closes the gap so nothing is stranded on the old server after the change settles.
Test on a subdomain first. Point a routing subdomain such as mail-test.yourdomain.com at the new provider's MX and send real messages through it before touching the root domain's record. It proves the new mailboxes, SPF and DKIM work while the blast radius is zero.
Cut over during your quietest hours — a Friday evening or weekend for most teams — so the propagation window overlaps the least mail. Run one canary mailbox a day ahead of the rest, so a broken DKIM record or a missing alias surfaces on one inbox instead of the whole domain.
Watching both inboxes during the overlap#
This migration moves the mailbox; it does not choose the client you read it in. And a domain cutover is exactly the moment that question comes up, because for a week or two some of your addresses are settling on the new server while residual mail still trickles into the old one, and someone has to watch both.
AI Emaily connects to Gmail, Outlook and any IMAP mailbox through the same account model this migration already sets up, so it shows the old and the new provider in one unified inbox while delivery converges — you're not logging into two webmails to make sure nothing was missed, with undo and an audit trail on every action and no training on your mail. It will not perform the migration for you; the steps above do that. We build AI Emaily, and we name it here because "which inbox do I watch during the overlap" is a real question this plan creates.
Frequently asked
See it in AI Emaily
Keep reading
Sources

Written by
Nafiul HasanNafiul Hasan is an entrepreneur and AI automation system builder with 10+ years of experience turning messy, manual workflows into reliable automated systems. He designs and ships AI enterprise solutions end-to-end — the agent logic, the data plumbing, and the product people actually use — and founded AI Emaily to give busy professionals their attention back. He writes here from the builder's seat: what works, what breaks, and how to put AI to work without giving up control.