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 2010 to Exchange Server 2019.

The program does not require hosted agents on the target server or any of its functionalities. It only accesses your source server mailboxes using Exchange Web Services (EWS), Graph API, the Administrator's MAPI profile or IMAP protocol 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 (you can create target user mailboxes directly in the program, learn more), 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
Fig. 1. Example of migration from Exchange 2010 to Exchange 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.
  • 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, and add the admin account used in the program as the owner of this mailbox. 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.

When migrating from a hosted Exchange server via EWS, you can transfer entire mailboxes along with their folder structure only.

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 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 2010 can coexist with version 2013 or 2016, but not with 2019. 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

All supported migration scenarios are listed here.

Does the program support migrations from hosted Exchange servers (e.g. Rackspace, Intermedia and GoDaddy)?

Yes, this migration scenario is supported. To successfully complete the migration of mailboxes from a hosted Exchange environment/provider, you should remember about a few prerequisites. You need to have the ApplicationImpersonation role assigned for the source mailboxes you intend to migrate. It is also necessary to create users in your target environment and prepare a CSV file with matched source and target mailboxes beforehand. Learn more

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 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 [email protected] 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 [email protected], 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. This is because Exchange Server does not let you create the second public folder infrastructure in the same AD forest. 

To migrate public folders within a hybrid environment, you need to use CodeTwo Migration for Office 365 and complete special preparations described in the first section of this article, as public folders cannot exist in both on-premises Exchange and Office 365 at the same time.

How to migrate archive mailboxes?

First, make sure archive mailboxes (In-Place Archives) exist in your target environment. If not, see this article to learn how to enable them.

Next, if you intend to migrate archive mailboxes that are larger than 100 GB, you may need to manually increase the storage quota of your target archive mailboxes (the default quota is 100 GB). Learn how to do this

When your target environment is ready, proceed to configuring a migration job in CodeTwo Exchange Migration. In the Mailbox types step of the configuration wizard, you can select to migrate archive mailboxes together with primary mailboxes or separately.

In the Match mailboxes step of the wizard, use Automatch if you want the program to automatically match your source archive mailboxes to their target counterparts. If you want to migrate the contents of source archive mailboxes to primary mailboxes that exist in your target Exchange environment, perform manual matching instead.


If you don't yet have primary mailboxes in your target environment as well, consider using CodeTwo software to first migrate primary mailboxes only. That way, the program can create the target primary mailboxes automatically. Learn more

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 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.

Migration of public folders by using a CSV file is not supported.

Learn more about the architecture of Exchange Server public folders

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.

Does the program support legacy authentication protocols when connecting to Office 365?

No, CodeTwo Exchange Migration uses OAuth 2.0 authorization protocol to connect to your Office 365 tenant. The legacy (or basic) authentication was turned off on October 1, 2022. 

While basic authentication required providing a username and password in the program to access Office 365, with OAuth 2.0 your credentials are safe, as you provide them directly on the Entra ID (Azure AD) sign-in page. That way, your credentials never accessed by our software (or any other third party) but are forwarded directly to Microsoft servers.

See also

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

In this article

Was this information useful?