Migration from IMAP source to Exchange 2013/2016

I. Pre-migration activities

Before you install and configure CodeTwo Exchange Migration make sure that your environment (both the source and target server) is prepared for migration.

Below you will find the list of key points to be considered:

Step 1: Prepare a clean target Exchange environment in a new Active Directory forest

The following points need to be revised:

  • Accepted Domains
  • Send/receive Connectors
  • Servers' Certificates
  • Default Email Address Policy
  • Internal/External URLs

    Learn more about the above in Exchange 2013 and Exchange 2016

Step 2: Prepare domain accounts on the target server

  • Create mailboxes in the target environment manually.
  • During the mailboxes matching step, you can also set the program to create the mailboxes and the corresponding users automatically.


    Please be aware that prior to migration you have to prepare (in the target environment) a mailbox-enabled user account for each user included in the migration.

    What is more, if you choose either to manually create the mailboxes or allow the program to prepare them for you, be advised that the account data (such as permissions) will not be migrated.

Step 3: Make sure that the target server's administrator belongs to the appropriate AD group, has permissions on users mailboxes and has his mailbox correctly configured

  • Check if the Administrator belongs to the Organization Management group:
    • Open the Exchange Management Shell on the target server and enter Import-Module ActiveDirectory script
    • Then execute Get-ADPrincipalGroupMembership
  • (Optional) Check the Administrator's impersonation rights on users mailboxes
    Learn more on how to manually configure the impersonation rights
    This step is optional as the software's target server connection wizard will attempt to assign impersonation rights for you.
  • Check that the Administrator's mailbox is configured and activated

Step 4: Verify permissions of the software user and target server admin's account

Make sure that the target server admin whose credentials are used has proper access rights to the target server's EWS service and that his mailbox is not hidden from the Exchange address lists

Verify the following:

  • Domain Admins membership
  • Organization management membership of the target server administrator
  • Access to the target server's EWS service using FQDN or IP, e.g. https://[server-name.domain.com]/EWS/Exchange.asmx or https://[Exchange_IP]/EWS/Exchange.asmx
  • If a Client connects to EWS from the outside of the local network he needs to have the external EWS URL correctly configured:
    • Open the Exchange Management Shell on the target server and check if the ExternalUrl is defined: Get-WebServicesVirtualDirectory | fl
    • If there's no address in the ExternalUrl line it needs to be defined. Execute the following script: Get-WebServicesVirtualDirectory | Set-WebServicesVirtualDirectory -ExternalUrl https://[Target server's internet name]/EWS/Exchange.asmx

Step 5: Adjust the EWS throttling settings and change the maximum size limit of sent mail to decrease the time of migration processing

Step 6: Prepare source IMAP server settings

Verify the following:

  • You have a list of all credentials for mailboxes you want to migrate via IMAP - here is why
  • Know your IMAP server address or IP, port and SSL connection support - for example, for Google (whether Gmail or Google Apps) those are: imap.gmail.com, port 993, enabled SSL
  • IMAP access is enabled on the source server - see here how to do this for Gmail and Google Apps accounts

Step 7: Installation of components required to install CodeTwo Exchange Migration (the installation wizard will guide you through this process)

  • MAPI CDO (MAPI Client and Collaboration Data Objects, will be installed on all systems except for systems with coexisting MS Outlook x86 older than version 2016, MAPI will be used only if Exchange Server On-Premises is configured as a source)
  • .NET 4.0 (required on any system, might be already installed)
    Learn more

Step 8: Installation and activation of CodeTwo Exchange Migration

In the case of migration from IMAP the program can be installed anywhere, e.g. on a workstation outside source and target domains, however, it will most likely work best if installed directly on the target Exchange Server.


Please note that if you are about to migrate from both IMAP source(s) and Exchange Server on-premises, you must install the software in the source Exchange Server environment, preferably directly on the source Exchange Server.


Make sure you meet the system requirements prior to installing the software.

II. Migration process

The steps below will guide through the correct configuration of CodeTwo Exchange Migration:

Step 1: Connect to the source server

Once the program's installation is completed, you will see the Dashboard view. Click Create a new migration job link on the How to start card. Select the source server type: IMAP. The create IMAP migration job wizard will open. Set the name of the job and hit Next to proceed to the Source mailboxes step. If this is your first migration job, you will need to configure connection to your source IMAP server. Click Add new source connection and a wizard will open. You need to go through these steps:

  • Server connection - in this step, you need to choose your IMAP source and some connection settings.
  • Throttling - there you can customize the software behavior if you stumble upon throttling issues on the IMAP source server.
  • Configuration - this step configures your connection based on the settings provided in the previous steps.

Step 2: Continue the job configuration to provide source mailboxes credentials

After successfully configuring the source connection, you will get back to the Source mailboxes step of the migration job wizard. Now you need to define which mailboxes you want to migrate.

  • Prepare a CSV file that contains source mailbox credentials as listed below. Do not worry that much about the CSV format. The CSV import feature lets you adjust the software to the file format used, i.e. you do not need to use a specific fields delimiter - use the one you like, you will be asked by the CSV import feature what kind of delimiter was used in the file.
    • Login - required
    • Password - required
    • First Name - optional
    • Last Name - optional
    • Display Name - optional
  • Click Import from CSV and select your CSV file.
  • Configure the software to properly import data from your CSV file.

Step 3: Set the Target connection

After successfully configuring the source connection and choosing source mailboxes, hit Next to define the target server connection on the very next step:

  • From the Target server combo box select Add new target connection... and wait until next wizard opens.
  • On the step Server connection choose Autodiscover Exchange Server (default option) to automatically find the proper target server. This will work flawlessly if you installed the software in the target server environment or in trusted domain. Otherwise you may need to configure the connection manually.


    If you decided to configure the target connection manually, be aware that using an IP address will make granting impersonation rights and creating mailboxes impossible, unless you configure PowerShell Virtual Directory in IIS to allow basic authentication.

  • Admin's credentials - specify the UPN of the target server administrator and its password. If you installed the software in the target server environment or in trusted domain you can click the Browse button to use AD user picker. Next, enter the admin's credentials and move on to Configuration.


    UPN (User Principal Name) is an Internal account name of a user in an email address format.

  • Configuration - this process configures the target server connection based on the entered settings.
    • If any errors appear please consult the Learn more sections describing the most common configuration mistakes.
    • Now is the time to test the administrator's impersonation rights on the chosen target mailbox. Under the Test button provide the Active Directory user's e-mail address and hit Test. If your rights have been successfully granted, you will be notified about that.
    • Close this window, you will return to the IMAP job configuration wizard.

Step 4: Pair up source and target mailboxes

Matching the source with the target mailbox can be done in two ways: automatically via the built-in Automatch feature, or manually. Either way, hit the Match mailboxes button.

To match manually a single mailbox, click on Click to match target link in the Target user mailbox column and choose most appropriate option for this user. After selecting an option you may be asked to provide further details (e.g. password for newly created users). The available approaches are:

  • Create a new user - to create both Active Directory user and corresponding mailbox, using the defaults values that you can also change.
  • Choose an existing user from the list - to select an existing user in the target environment that does not have mailbox created yet
  • Manually specify the mailbox address - this option should be used in the case you are unable to list the target environment

However, when it comes to matching hundreds of mailboxes, the process may be extremely time-consuming. To automatically set the best available actions for desired users, simply select them on the list (you can use Ctrl+A shortcut to choose all entries) and eventually hit Automatch. Select desired options and start the process.

When you have matched all your mailboxes you can continue to configure additional options.

Step 5: Customize all necessary aspects of the migration job

You may configure the following additional options:

  • Scheduler - allows you to set the job to be automatically started in desired period of times, so you do not have to control it manually.
  • Time filter - is used to exclude items that are older or newer than a particular date
  • Folder filter - may completely exclude specific folders from the migration process
  • Advanced settings - provides an option to define how many mailboxes should be migrated at same time. This number should correspond to the number of logical processors. You can also define the maximum size of items to be migrated.

Step 6: Start the migration

Move on to the JOBS tab and click Start on the toolbar to begin the migration.


The migration processing time depends on several different factors, e.g. the number of mailboxes and items, the speed of internet connection, EWS throttling settings. We have published more details here.

Step 7: Check if the number of migrated items in the target mailboxes matches the source server mailboxes

If you notice any missing items in the Target mailbox, restart the migration by using the Rescan feature.


Please be aware that the program does not migrate some specific folders at all. Those are i.e. Sync Issues or ones created while putting a mailbox on a litigation hold.


If any problems appear during the migration process they will be indicated on the dashboard, pointed on the reports and logged in the log files. Check out the software's diagnostics.

Step 8: Check if there are any new items in the source mailbox after migration

Once the migration is finished and you have noticed that some new items appeared in the migrated source mailbox, just restart the migration by using the Rescan feature. Please keep in mind that the Rescan feature uploads only new items, not the changed ones.

III. Post-migration cleanup

Once the migration is completed please follow the points below:

Step 1: MX records

If you have your own domain pointed at source server you probably want it now to point at the new server. Change MX records with your domain registrar to enable mail flow to new servers instead of the old ones. Please note that this process may take several hours.


If any new items appear in a source mailbox while the MX records are being changed, it is possible to migrate them after the records' migration process is completed. It can be done by using Rescan feature.

IV. Troubleshooting

For troubleshooting information, refer to our Knowledge Base.

For additional resources, refer to Frequently Asked Questions or contact us.

Was this information useful?