- IMAP server
- imap.gmail.com
- Port
- 993 · SSL/TLS
- Username
- full address
- Password
- app password
Gmail → Microsoft 365
Migrate Google Workspace to Microsoft 365
Google Workspace to Microsoft 365 is the most common corporate move and the most demanding one. Microsoft disabled basic authentication for Exchange Online, so a plain username and password no longer authenticates on the destination — OAuth 2.0 is mandatory.
- IMAP server
- outlook.office365.com
- Port
- 993 · SSL/TLS
- Username
- full address
- Password
- mailbox password
What breaks on this particular pair
- Microsoft 365 accepts OAuth 2.0 (XOAUTH2) only. A tenant admin grants consent once for the IMAP.AccessAsUser.All scope.
- IMAP may be disabled per user: Exchange admin center → Recipients → Manage email apps.
- Exchange Online throttles heavy writes. Adding threads backfires — the cap is 20 concurrent sessions per mailbox before connections drop.
- In-Place Archive is invisible over IMAP. It is separate storage and needs a different tool entirely.
- Messages above 35 MB are rejected by default and are listed in the final report.
FAQ
Common questions
Can I migrate 40 mailboxes at once?
Yes — batch mode takes a CSV list of mailboxes, runs each as its own job and produces one consolidated report across all users.
How do I handle the MX cutover?
Move the bulk of the mail before switching MX, then run a second pass afterwards — it copies only what is new, with no duplicates.
Do calendars and contacts move?
No. IMAP carries messages and folders only. Export calendars and contacts from Google as ICS and vCard, then import them into Microsoft 365 separately.
Related routes
Other directions
Find out how big your mailbox is. It costs nothing.
Connect two servers, look at the size and decide. Or take the client and keep everything on your side.
Code on GitHub · built on imapsync · no sign-up