CodeTwo Exchange Migration is a tool designed to migrate source mailboxes and public folders to the chosen target location. Unlike any other software of this kind, this program performs the simplified migration, which doesn't need any extra steps, e.g. you can migrate directly from Exchange Server 2003 to Exchange Server 2013.

The program does not require hosted agents on the target server or any of its functionalities. It only accesses your source server mailboxes using the Administrator's MAPI profile / IMAP protocol or Exchange Web Services (EWS) to read their contents and copy items to the target server mailboxes in one transaction. To achieve this, the mailboxes / public folders need to exist and be active on the target server side, and the user accounts used for the migration process need to have adequate rights, depending on whether they are used to connect to the source or the target server.

As far as the source data safety is concerned, the program does not delete anything. It accesses the source server data passively, which means that no data is deleted or modified on your source server.

The diagram below shows an example of migration from Exchange Server 2010 to Exchange Server 2013:

Exchange Migration diagram 2010-2013


This article contains the following sections:

What type of data can be migrated using CodeTwo Exchange Migration?

There are two types of data that can be migrated from Exchange Server or Office 365:

  • Mailboxes - no matter how many mailboxes you want to migrate, the program does it perfectly. It accesses the chosen source mailbox and copies its contents to the target server. This way, all files from folders in the source mailbox will be recreated in the corresponding folders in the target mailbox and look exactly like the original.


    The migration of the archive mailboxes (In-Place Archive in Office 365) is not supported in the current version of the program.

  • Public Folders - the software will recreate the source public folders structure and copy all the items to the target server. You just need to enable public folders on the target Exchange server, create a mailbox for them, add the Administrator as the owner of this mailbox, and finally configure the program to include public folders as the target during the migration process.

    Note that the program copies only the chosen content - it does not migrate any permissions (delegates) from the source associated with a particular mailbox or public folders. For this reason, you need to set those permissions manually after the migration.

    Learn more on how to create public folders in Exchange
    Learn how to retain permissions to public folders after the migration 
    Learn more about licensing in regards to public folders


    Once you open the target mailbox selection window, the program checks if public folders are available on the target server. If there are no public folders present, the program will notify you about it.

Migration of all item types is supported when it comes to migration from Exchange Server / Office 365 via EWS or MAPI. This refers to Emails, Contacts, Calendars, Tasks, Notes, Journals, and Public Folders.

In the case of migrations from other servers (e.g. Gmail) via IMAP, only emails can be migrated.

Which migration scenarios are supported?

Source server Target Exchange Server
Exchange 2003
Exchange 2007
SBS 2008
Exchange 2010
SBS 2011
Exchange 2013
Exchange 2016
Exchange 2019
Office 365


Be aware that a specific Service Pack (SP), Update Rollup (RU) or Cumulative Update (CU) might be required for some Exchange Server versions. See system requirements for details.

(1) Why in some cases I can only migrate cross-forest?

It is possible to migrate within the same forest only if the Exchange Servers in question can coexist in the same forest. This is only possible two Exchange Server releases back and forth. So, for example, Exchange Server 2003 can coexist with version 2007 or 2010, but not yet with 2013, 2016 or 2019. Exchange Server 2007 can coexist with version 2003 in the same forest or with version 2010 or 2013 but not yet with 2016 and 2019. And so on. This is Microsoft Exchange Server architecture's limitation, not CodeTwo software's one.

(2) Source connection only via MAPI

(3) Source connection only via EWS

What are the possible scenarios of executing migration based on client environments?

CodeTwo Exchange Migration can be used to migrate mailboxes within different / the same domains and even the same forest. Please study the diagrams below that show the possible migration scenarios.

Exchange Migration - Same forest/domain.
Fig. 2. Migrating mailbox within the same forest and domain.
  • Cross-domain migration within the same forest
Exchange Migration - Cross domain/same forest.
Fig. 3. Migrating mailbox within the same forest but between different domains.
  • Cross-forest migration within the same domain
Exchange Migration - Cross forest/same domain.
Fig. 4. Migrating mailbox between different forests but within the same domain.
  • Cross-forest and cross-domain migration
Exchnage Migration - Cross forest and domain.
Fig. 5. Migrating mailbox between different forests and domains.

Does CodeTwo Exchange Migration support delta migrations?

Yes, the program has a built-in Rescan feature to perform delta migrations. It can be used once the migration process is finished to check whether there are any new items on the source server and migrate them to the target server. Those items that have already been migrated, even if some changes were made to them on the source server, will not be migrated again.

Read more about the delta migration in CodeTwo Exchange Migration

What are the restrictions in terms of migrating mailboxes within the same forest and the same domain?

CodeTwo Exchange Migration can be used to migrate mailboxes within the same forest and the same domain. However, there is one restriction: you cannot use the chosen source mailbox as the target mailbox in one pair of mailboxes included in the migration process. For this reason, you need to create another user with a new mailbox or choose another existing mailbox of a different user as the target to process the migration. Note that due to Exchange restrictions, the creation of another user, whose mailbox is used as the target, is inevitable as individual users in AD cannot have two mailboxes.

For example, if you want to migrate the source mailbox mailbox1@company.com and choose the same mailbox as the target, the migration will not be possible. You will encounter duplicated items on such a mailbox instead. If, however, you create another user along the associated mailbox mailbox2@company.com, and then choose it as the target, the migration will be executed successfully.


Is it possible to migrate public folders within the same forest/domain?

No. CodeTwo Exchange Migration cannot be used to migrate public folders within the same domain in the same forest. For this reason, such migration scenario is not possible due to Exchange Servers' limitations.

The migration of public folders is also not supported in hybrid migration scenarios, as public folders cannot exist in both on-premises Exchange and Office 365 at the same time.

How to migrate public folders?

To migrate public folders to Exchange Server 2010/2013/2016/2019, you first need to create a mailbox for them on your target server and then select this mailbox as the target of the migration process. Additionally, the account used to connect to the target Exchange Server 2013, 2016 and 2019 needs to be assigned the Public Folders role. On the other hand, if you plan to migrate public folders to Exchange Server 2010, you need to follow the steps described in this article to grant the admin account the full access control to the root public folders tree. Please note, however, that due to Microsoft's restrictions, a single public folder mailbox has limited maximum capacity of 100 GB.


If there are existing public folders on the target environment, with names corresponding to public folders on the source environment, these folders will be merged. 

Learn more about the architecture of public folders on Exchange 2013

What is the size limit of individual source items migrated to Exchange Server 2010/2013/2016/2019?

By default, Exchange Web Services (EWS) of supported target Exchange Servers (2010, 2013, 2016 and 2019) limit the size of each migrated item included in source mailboxes to 30 MB per item. However, you can adjust this limit to accept items bigger than 30 MB using Exchange Management Shell. Follow this article to learn how to change the items' size limit.

Is it possible to migrate data between two servers that have a different display language?

Yes. CodeTwo Exchange Migration migrates emails and public folders regardless of the language used in them. It also doesn’t matter if the user interface (UI) language in your source environment is different than the language in your target environment.

In addition, the contents of the default Outlook folders, such as Inbox, Sent Items, Drafts, Calendar, Contacts, etc. are always migrated to their equivalents on the target server. This means that if you’re migrating, for instance, data from an Office 365 tenant set up in French to an Exchange Server set up in German, the contents of the Brouillons folder (Drafts) will be migrated to the Entwürfe folder.

When target mailboxes are created from within CodeTwo migration software, the names of such default folders will be in the language set in the target environment.

However, if you notice that some of your default folders are not migrated to their respective destinations, consult this Knowledge Base article.

Is there an option to perform dry-run migrations?

The licensing system consumes licenses for source mailboxes only (read more), so you can migrate a single source mailbox to multiple target mailboxes. Therefore, to perform a dry-run migration, you can create a test mailbox in the target environment and use it to migrate data from the chosen source mailbox. Once finished, you can reset the migration state and change the target mailbox to the right one. Be advised that if you are using the trial version of the program, you can only migrate up to 10 items per mailbox folder.

Is multi-factor authentication supported when migrating from Office 365?

Yes. CodeTwo Exchange Migration supports multi-factor authentication (MFA) for Office 365. MFA is an effective security measure that prevents unauthorized access to your account. Once enabled, each time you log in to Office 365 tenant with your password, you will be asked to confirm your identity by providing a verification code which you receive via text message, phone call or Microsoft Authenticator app.

You can also use an MFA-enabled administrator account to connect to source Office 365 in CodeTwo Exchange Migration. However, entering a regular account password isn’t enough, as you won’t be able to connect to Office 365. This is where the app password is used. App passwords are created for each MFA-enabled account to allow signing in to non-browser applications. To use an MFA-enabled administrator account with CodeTwo Exchange Migration simply enter the app password instead of the regular Office 365 password. Keep in mind that app passwords don’t expire and can be used in other programs as well.

Learn how to create app passwords and use them with CodeTwo software.

Why use the *.onmicrosoft.com email address?

When configuring a connection to your source Office 365 tenant, you should provide the admin account name using its primary email address from the *.onmicrosoft.com (or *.onmicrosoft.de for Office 365 Germany) domain. That way, you will know for sure that you are always connected to the right tenant, even when you change the domain or add a new vanity domain (the initial *.onmicrosoft.com domain cannot be transferred to another tenant). Using the initial *.onmicrosoft.com domain will also prevent a situation where you connect to a completely different tenant in the program in case you have transferred the domain to some other Office 365 tenant.

If you are following a cutover or staged migration, using the *.onmicrosoft.com email address also allows you to quickly refresh email addresses in order to run Rescan and migrate any new or remaining data from the source server without the need to reconfigure the source or target connections after changing the MX records or switching the domains.

To use the *.onmicrosoft.com email address in CodeTwo Exchange Migration, you first need to set it as the primary email address / username of your Office 365 admin account. Otherwise, you will not be able to use this email address to connect to your Office 365 tenant in the program.

See also

Supported platforms and system requirements - this article presents the full list of supported platforms and requirements for the correct program operation.

Was this information useful?