Posted on

Migrate IMAP mailboxes to Microsoft 365 – Office 365 – Exchange online

Here are the steps required in sequence to migrate an IMAP domain to Exchange Online.

  1. Add the domain to your Microsoft 365 tenant. You don’t have to complete the mail server setup.
  2. Add domain users to Microsoft 365. Each user must have a Microsoft 365 Business Basic, Standard, or Premium license
  3. Prepare the csv file for migration, separated by commas. In the first line put EmailAddress, UserName, Password. In the following lines the data: “EmailAddress is the Microsoft account,” UserName “is the imap server account and” Password “is the imap server password

example of csv

EmailAddress,UserName,Password
terrya@contoso.edu,contoso\terry.adams,1091990
annb@contoso.edu,contoso\ann.beebe,2111991
paulc@contoso.edu,contoso\paul.cannon,3281986
  1. Log in as an administrator in Microsoft 365 and go to the Exchange admin center. (Note: this guide is for the “classic” Exchange administration interface. Select “recipients” on the left; select “migration” at the top.
  2. At the center of the page there is a button with three dots: …. Selecting it, the endpoint is inserted, that is the Imap source server. In the next window add the new endpoint (IMAP).
  3. Create a new migration. launch the migration
  4. once the migration is complete, in the tenant, you can finish configuring the domain for what concerns the mail server, following the instructions on the tenant and changing your dns

The Rules of Migration

You can put all users in a migration. When a migration ends in error, you can delete a user from it and put the same user in another migration. You can have multiple migrations at the same time but the same user cannot exist in more than one migration. Migration can exist for up to 60 days.

It is not a migration

In reality, Microsoft does a more sophisticated operation than a “trivial” migration: it makes a sync. Synchronize entire imap mailbox to Exchange mailbox in one direction (from imap to exchange). It is sophisticated but less effective than a normal migration: it is not in real time but after 24/30 hours. So if you want to replace the mail server, users would lose at least 24 hours of email.

Configuring perspectives

On Outlook clients, you can add the new Exchange account online. It will be the same as the old mailbox, but will be managed by Exchange. For a while you will then have 2 mailboxes that manage the same mail but on different servers: one is the old imap server, the other one the new Exchange server. When the migration is finished and you have also moved the mx records on the dns, you can delete the old mailbox. Before doing this, however, you must also memorize the contacts and the calendar from the “old” to the “new”:

Contacts: select all contacts, right click, select “move” and then “copy to folder …”, Exchange mailbox contacts.

Calendar: To move appointments between 2 calendars: both calendars and drag appointments from old to new.

Problems in migration

If you have any problem you can investigate using PowerShell. First install ExchangeOnlineManagement.

Connect to the tenant:

Connect-ExchangeOnline -UserPrincipalName <your Admin Username>

The password request screen appears.

List of all endpoints in the tenant

get-migrationendpoint|FL

endpoint test

Test-MigrationServerAvailability -Endpoint <Identity of the endpoint from above>

view sync configuration of single user

Get-SyncRequest -Mailbox  <user>

esport migration result for a user

Get-MigrationUserStatistics <user> -IncludeSkippedItems -IncludeReport 
-DiagnosticInfo "showtimeslots, showtimeline, 
verbose" | Export-Clixml C:\temp\MigMyUser.xml

Exchange mailboxes have a 35MB limit. If you have to move something bigger during the migration you have to change this limit.

Set-Mailbox -Identity <user> -MaxReceiveSize 150MB

Documentation: