MIGRATION · April 12, 2026 · 5 min read
How to Migrate Email Between Gmail and Office 365 in 2026
It is 2026 and email migration is still painful. The protocols are decades old, the tooling is fragmented, and every migration has the same anxiety: will the folders come through? Will the attachments survive? Will the dates stay correct? The answer should be yes to all three, but it depends entirely on the tool you use and the source platform you are migrating from.
This guide covers how to migrate email between the four platforms MigrationFox supports — Gmail, Office 365, Exchange EWS, and generic IMAP — with a step-by-step walkthrough of the process.
Why Email Migration Is Still Hard
The fundamental problem is that email platforms do not agree on how to represent mailbox structure. Gmail has labels, not folders. Office 365 has folders but represents them differently in Graph API versus EWS. Exchange on-premises uses EWS with its own authentication model. And IMAP is a lowest-common-denominator protocol that works everywhere but preserves almost nothing beyond the raw message and basic folder hierarchy.
On top of the structural differences, there are practical constraints. Gmail throttles API calls aggressively — you can hit quota limits in minutes if you are not careful. Office 365 Graph API has its own throttling regime. Large attachments need special handling. And date/time metadata must be preserved exactly, because an email that shows up with today’s date instead of the original send date is worse than an email that does not show up at all.
Most IT teams end up using Microsoft’s built-in migration tools (which work for the happy path) or expensive enterprise migration suites (which work for everything but cost five figures). There is a gap for mid-market teams that need a reliable migration without the enterprise price tag. That is where MigrationFox fits.
4 Supported Platforms
MigrationFox mail migration supports four source and destination platform types. You can migrate between any combination:
- Gmail — OAuth-based access via Google Cloud service account. Labels are mapped to folders automatically. Supports shared mailboxes and delegated access.
- Office 365 — Microsoft Graph API access via Azure AD app registration. Full folder hierarchy, categories, and read/unread status preserved.
- Exchange EWS — Exchange Web Services for on-premises Exchange servers (2013, 2016, 2019) and hybrid deployments. Basic auth or OAuth depending on your Exchange version.
- IMAP — Generic IMAP access for any mail server that supports the protocol. Rackspace, Zoho, Fastmail, self-hosted — if it speaks IMAP, MigrationFox can read it.
What MigrationFox Handles
The migration engine handles the hard parts that break in most tools:
- Folder filtering. Select which folders to migrate instead of moving everything. Skip Spam, Trash, and promotional folders to save time and storage.
- Date range filtering. Migrate only emails from a specific date range. Useful when you need the last two years of email but not the full archive going back to 2015.
- Attachment handling. Large attachments are streamed, not buffered in memory. No 25 MB or 35 MB limits imposed by the migration tool itself — only the destination platform’s native limits apply.
- Metadata preservation. Send date, receive date, read/unread status, folder hierarchy, and flags are preserved exactly. An email sent on March 15, 2024 shows up as March 15, 2024 in the destination.
- Throttle-aware batching. The engine respects rate limits from both source and destination platforms. Gmail’s 250 quota units per second, Graph API’s 429 responses — all handled with automatic backoff and retry.
Step-by-Step Walkthrough
Here is how a typical email migration works in MigrationFox, from setup to completion:
- Create a migration project. Log in at app.migrationfox.com and create a new migration. Select “Mail” as the migration type.
- Configure source credentials. Choose your source platform (Gmail, Office 365, Exchange EWS, or IMAP) and enter the required credentials. For Gmail, this is a Google Cloud service account JSON key. For Office 365, an Azure AD app registration. For EWS, a server URL and credentials. For IMAP, a hostname, port, and login.
- Configure destination credentials. Same process for the destination. Any supported platform can be a destination.
- Add user mappings. Map source mailboxes to destination mailboxes. One-to-one mapping:
user@source.comtouser@destination.com. You can add mappings individually or upload a CSV for bulk migrations. - Set filters (optional). Choose which folders to include or exclude. Set a date range if you only need recent mail. These filters apply per user mapping.
- Run the migration. Click Start. The engine processes each user mapping in parallel (up to the concurrency limit for your plan), streaming emails from source to destination with full metadata preservation. Progress is visible in real-time.
- Review results. Each user mapping shows a completion summary: emails migrated, folders created, errors encountered, and total data transferred. Failed items are retried automatically; persistent failures are logged with the specific error for troubleshooting.
Common Scenarios
Gmail to Office 365
The most common migration path. Gmail labels are converted to Office 365 folders. Emails with multiple labels are copied to each corresponding folder (matching Gmail’s behaviour). Google Cloud service account on the source side, Azure AD app registration on the destination side.
Office 365 to Office 365 (Tenant-to-Tenant)
Common during mergers, acquisitions, or tenant consolidations. Both sides use Azure AD app registrations. Folder structure, read/unread status, and categories transfer cleanly since both endpoints use the same Graph API model.
Exchange On-Premises to Office 365
The hybrid migration path. EWS on the source side, Graph API on the destination. Works for Exchange 2013, 2016, and 2019. If your Exchange server is behind a firewall, you need to ensure EWS is accessible from the internet or use a hybrid connector.
Start a Mail Migration
Email migration does not have to be a multi-week project with expensive tooling. MigrationFox handles Gmail, Office 365, Exchange EWS, and IMAP with folder filtering, date ranges, and full metadata preservation. Set up your first migration in minutes.
Create a free account at app.migrationfox.com/register and start your first mail migration today.