
Email migration sounds like it should be simple. Copy the emails, paste them somewhere else, done. In practice, it’s one of those tasks that can go sideways in several different ways depending on what you’re moving, where you’re moving it, and how many accounts are involved.
I manage email across multiple company accounts and have had to do this more than once. Whether you’re consolidating Gmail accounts inside Google Workspace, switching to a new provider entirely, or just trying to get everything under one roof, the approach changes depending on the situation.
This guide covers the main scenarios: Gmail to Gmail, Gmail to another provider, and the catch-all tool (imapsync) when nothing else fits cleanly.
Why You Might Need to Migrate Email
The most common reasons: you’re consolidating multiple inboxes into one account, switching providers for cost or privacy reasons (see my Gmail vs Fastmail comparison if you’re weighing those two), or handing off an account to someone else when a team member leaves. Sometimes it’s a company restructure. Sometimes a legacy domain needs to be retired.
Whatever the reason, the core problem is the same. You have emails somewhere you don’t want them, and you need to get them somewhere else without losing anything.
Gmail to Gmail (Within Google Workspace)
If you’re moving email between two Google Workspace accounts, the cleanest path is Google’s own Data Migration tool, available in the Admin console.
Go to Admin console > Account > Data migration and follow the wizard. You set the source account credentials, the destination account, and a date range, and Google runs the migration in the background. Labels are preserved, timestamps are kept, and you don’t need to touch any email client.
A few things to know: it migrates email only. Drive files, Calendar events, and Contacts need to be handled separately. And it can take a while depending on mailbox size, so start it before you need the emails to be available.
If you don’t have Admin console access (you’re on a personal Gmail account rather than Workspace), this tool isn’t available to you. In that case, jump down to the imapsync section.
Gmail to Another Provider
This is where it gets more variable. The experience depends on which provider you’re moving to.
Fastmail
Fastmail has a built-in IMAP importer under Settings > Migrate. You give it your Gmail credentials (an App Password, not your regular password) and it pulls everything across. Straightforward, runs server-side, and Fastmail’s support documentation covers it well if you hit any snags.
ProtonMail
Proton has a dedicated migration tool called Easy Switch that handles email, contacts, and calendar in one go. It’s the most complete option if you’re going all-in on Proton. Run it from the Proton web app under Settings > Import via Easy Switch.
Microsoft 365
The admin route for Microsoft 365 is an IMAP migration wizard in the Exchange admin center. For smaller moves, dragging folders in Outlook desktop also works, though it’s slow and manual. If you’re migrating a whole team, the admin wizard is the better path.
Zoho
Zoho has its own Mail Migration Wizard under Settings > Import. It connects via IMAP and pulls across your messages. I’ve written a more detailed walkthrough of migrating between Zoho and Gmail if that’s your specific situation.
The imapsync Approach
When the built-in tools don’t fit your situation, imapsync is the right answer. It’s an open-source command-line tool that copies email between any two IMAP servers, incrementally, preserving dates, flags, and folder structure.
Install it on a Mac with:
brew install imapsync
A basic migration from Gmail to another IMAP account looks like this:
imapsync \
--host1 imap.gmail.com --ssl1 --user1 [email protected] --password1 YOUR_APP_PASSWORD \
--host2 mail.example.com --ssl2 --user2 [email protected] --password2 YOUR_PASSWORD
For Gmail specifically, you need to use an App Password rather than your regular login. Two-factor authentication blocks regular password access via IMAP. Generate the App Password under your Google account security settings.
imapsync runs incrementally, so if it stops partway through, you can restart it without duplicating emails. You can also run it multiple times during a transition period to keep things in sync while both accounts are still in use.
The imapsync documentation is thorough and covers Gmail-specific flags worth setting, like excluding spam and trash folders from the migration.
What About Google Takeout?
Google Takeout lets you export your Gmail as an MBOX file. It’s useful for archiving and creating a local backup of your Gmail, but it’s not a migration tool.
The problem is the other end. Importing an MBOX file into a new provider is messy. Some providers don’t support it at all. Those that do often require a desktop client as an intermediary. You can also store that MBOX backup on a Synology NAS for long-term archiving, which is worth doing before any migration.
Use Takeout to take a backup before you start. Don’t use it as the migration method itself.
Common Pitfalls
Gmail labels become folder copies
Gmail uses labels, not folders. An email with three labels will appear three times when migrated via IMAP, once in each corresponding folder. You’ll end up with duplicates unless you plan for this. imapsync has options to handle it, and most provider importers deal with it reasonably well, but it’s worth understanding before you start.
Filters and rules don’t transfer
Your inbox filters, auto-labels, and rules are not email. They live in your account settings and don’t migrate with the messages. You’ll need to recreate them manually on the destination account.
Contacts and calendar are separate
Email migration moves email. Your Google Contacts need to be exported as a vCard file and imported separately. Calendar events need to be exported as ICS files. ProtonMail’s Easy Switch is the exception since it bundles all three, but every other tool handles them independently.
Large attachments slow everything down
If you have years of emails with large attachments, expect the migration to take longer than you think. imapsync can be configured to skip large attachments or exclude certain folders to speed things up.
Cutover Best Practices
A few things worth doing regardless of which method you use:
Take a Takeout backup before you start. It takes time to generate, so kick it off early, and it gives you a safety net if something goes wrong mid-migration.
Start the migration before you change your MX records. Run the import, let it finish, then switch DNS. New mail will keep arriving at the old account until the DNS change propagates, so run imapsync one more time after cutover to catch anything that arrived during the window.
Keep the old account active for at least 30 days. Set up forwarding from the old address to the new one and leave it running. Contacts who haven’t updated their address books will still reach you, and you have time to catch anything that slips through.
Test before announcing. Send a few emails, check that filters work, make sure the mobile apps are configured correctly. Do this before you tell anyone the migration happened.
For larger moves (5+ accounts), a paid tool like BitTitan MigrationWiz (around $12 per user) is worth considering. It handles scheduling, reporting, and error logging in a way that manual methods don’t.
One more tip: if you want to use free Gmail but still send and receive from your own domain, ImprovMX is a simple forwarding service that handles this without needing a paid Google Workspace account.
FAQ
Can I migrate Gmail without the Admin console?
Yes. The Google Admin Data Migration tool requires a Workspace admin account. For personal Gmail accounts, use imapsync or the built-in importer on your destination provider if it supports one.
Do I need an App Password to migrate Gmail via IMAP?
Yes, if you have two-factor authentication enabled, which you should. Google blocks regular password access to IMAP when 2FA is on. Generate an App Password under your Google Account > Security > App Passwords.
Will my email labels transfer to the new provider?
Gmail labels migrate as IMAP folders, which means an email with multiple labels will appear in multiple folders at the destination. Most providers handle this reasonably, but it’s worth cleaning up labels before migrating if you want a tidy result.
How long does email migration take?
It depends on mailbox size. A few gigabytes can take several hours. Very large mailboxes with years of attachments can take days via IMAP. Google’s Admin tool runs server-side and is generally faster for Workspace-to-Workspace moves.
Do I need to migrate contacts and calendar separately?
Yes, in almost every case. Export Google Contacts as a vCard (.vcf) file and Calendar events as ICS files, then import them at the destination. ProtonMail’s Easy Switch is the main exception, handling all three in one workflow.

Leave a Reply