Configuring a migration job

After you have defined the source connection, you can continue to configure a migration job. A simple wizard will help you define all crucial aspects of the migration, for example selecting a target server, range of mailboxes and necessary time and folder filters. This article describes the job configuration step by step. Use the links below to learn how to:

Create a new migration job

You can create a new migration job from the How to start card on the Dashboard (Fig. 1.). Alternatively, go to the Jobs tab and click New on the menu toolbar.

Exchange Migration - new migration job
Fig. 1. Creating a new migration job.

Now you need to select the type of your source server (i.e. the server you will be migrating from). You can choose between Exchange Server, Office 365 and IMAP server.


The available configuration options (wizard steps) may differ slightly, depending on your source server type. In this article, we will show you a job configuration for Exchange Server, but the differences for Office 365 and IMAP will be highlighted.


After you select a source server type, the migration job wizard will open. The first step (General) allows you to set the name of your job (Fig. 2., item 1). The name should be brief and unique.

The General step allows for naming a job and selecting mailbox migration method.
Fig. 2. The General step allows for naming a job and selecting mailbox migration method.


A job name cannot contain the following special characters: \ / : * ? < > |

If you would like to perform a migration by using data from a CSV file, select the Migrate mailboxes using a CSV file containing a list of already matched source and target mailboxes checkbox (Fig. 2., item 2). When you select this checkbox, the Source mailboxes, Target mailboxes and Match mailboxes steps in the wizard will be replaced by the Mailboxes step, where you will import the CSV file. Click here to go directly to the section of the manual where this process is discussed.

Choose mailboxes to be migrated

The next step - Source mailboxes - allows you to define which mailboxes should be included in the migration job. The configuration depends on the type of your job:


If there are no source connections defined in the program, expand the Source server drop-down menu and click Add new source connection. Use the links below to configure a connection to a source:

If you selected to import the matched source and target mailboxes from a CSV file, go here.

Exchange Server / Office 365 migration job

The Source mailboxes step is similar for migrations from Exchange Server and Office 365. You can add and remove your source mailboxes by using various filters. You can select users whose mailboxes you want to migrate in two ways (Fig. 3.):

  • select which mailboxes are to be included in the job (the Migrate mailboxes fulfilling the following conditions section) - this list should be considered as conditions;
  • select which mailboxes should be excluded from the job (the Don't migrate mailboxes fulfilling the following exceptions section) - this list should be considered as exceptions. The exceptions are effective in the case of a conflict with the conditions defined in the upper list.

Selecting source mailboxes for migration.
Fig. 3. Selecting source mailboxes for migration.

Let us say you have three users: user1user2 and user3, who are members of the group named Initial migration. You have set the program to migrate the Initial migration group, but also excluded the user3. Consequently, the program will add user1 and user2, since they are members of the mentioned group. The user3 will not be migrated, despite the membership, as this account has been defined in the exceptions list.


When migrating from Exchange Server via MAPI, you can migrate mailboxes only from the domain and subdomains under which the software is running. Migration of data located in another domain on the same level is not supported.

When migrating from Office 365, the program lists only active source mailboxes. This means that only source users with a valid Office 365 license will be displayed. The exception to this rule are resource and shared mailboxes, which are listed even if no Office 365 license is assigned to them.

Public folders are selected for the migration by default. Before you start migrating them, make sure the following requirements are met. For more detailed steps on how to migrate public folders, read this article.

Learn more about defining the list of included and excluded mailboxes

IMAP migration job

In the case of an IMAP migration job, the Source mailboxes step looks a little different (Fig. 4.). Here, you need to select a source server from the drop-down list (you can also define a new connection) and import a CSV file that includes information about your source mailboxes. The application requires providing at least the email address and password of every mailbox you want to migrate. You can also include the first and last name as well as the display name, as these fields may prove useful later.

Importing IMAP mailboxes.
Fig. 4. Importing IMAP mailboxes.


You want to migrate the following user:

Display Name: Oneida Riddle
Email address:
Password: D10XDZG9

A valid CSV file created in a text editor (e.g. Notepad) can have the following entry:

"";"D10XDZG9";"Oneida";"Riddle";"Oneida Riddle"

If you prefer using Excel instead, one way of creating a valid CSV file is shown in Fig. 5. below.

Exchange Migration - valid CSV file created in Excel
Fig. 5. An example of a correctly formatted CSV file created in Excel.

To import the data, use the Import from CSV button. After choosing a file, you will see the CSV mapping window (Import mailboxes). If everything looks correct, you can continue by clicking the Import button. In the case any mailbox failed to be imported, the program will display all necessary information.

Learn more about importing data to the program from a CSV file

Select a target server

In the Target mailboxes step, you can configure the connection with a target on-premises Exchange server. Setting up a target server is the most important part because this is where your data will be migrated. There are three types of target on-premises Exchange servers that can be used in migration: those from the same domain, from a different trusted domain and servers from a different untrusted domain. No matter which type of target server you choose, you will have to provide the corresponding admin account credentials, including the User Principal Name. Keep in mind that this account needs to have appropriate roles assigned.


Learn more about creating forest trusts in Windows Server 2008 and newer.

To select a source server, expand the Target server drop-down list and choose the desired entry (Fig. 6.). Click Next to proceed.


If you are running the migration job wizard for the first time, there will be no connections defined yet. In that case, choose Add new target connection and follow this article to learn how to create a target server connection.

Choosing a target connection.
Fig. 6. Choosing a target connection.

Match source mailboxes with target mailboxes

In the next step of the wizard, click the Match mailboxes button. This will open the Match mailboxes window (Fig. 7.), where you will see all mailboxes fulfilling the conditions defined in the Source mailboxes step.

If you are using a CSV file to import matched source and target mailboxes, this step does not apply. Go directly to this section.

The Match mailboxes configuration window.
Fig. 7. The Match mailboxes configuration window.

If you want to migrate all listed mailboxes, click Automatch > Automatch all mailboxes. To migrate only some of the mailboxes, select them from the list (use the Ctrl to select mailboxes one by one or Shift to select multiple neighboring rows) and click Automatch > Automatch selected mailboxes. The automatch feature is designed to automatically search the target environment and find mailboxes that correspond to the mailboxes in your source environment. This feature also works for public folders.


If the automatch mechanism does not find mailboxes on the target Exchange server, you can set the program to create them. Learn more

If not all the mailboxes were matched after the first run, modify the automatch mechanism and run it again. You can repeat this process until all mailboxes are matched. Further information about the default settings of the automatch feature and how to modify them is available here.

For those mailboxes that couldn’t be matched automatically, for example due to an unusual email address format, there’s an option of manual matching. Learn more

The summary of the matching process is displayed in the upper part of the Match mailboxes window (Fig. 8.). A detailed description of what information is shown in each section is available here.

The summary of the matching process.
Fig. 8. The summary of the matching process.


Migration of public folders is possible only if any public folders already exist in the target environment. For more information on how to create public folders, click here. Note that it may take a few minutes for public folders to become visible in the program after they have been created.

Migrate mailboxes using a CSV file

If you are not using a CSV file to import matched source and target mailboxes, this step does not apply. Proceed to this section.

In the Mailboxes step, first use the drop-down lists to select existing source and target server connections (Fig. 9., item 1). If you haven’t configured such connections yet, create new ones.

The Mailboxes step is where you import a CSV file containing matched source and target mailboxes.
Fig. 9. The Mailboxes step is where you import a CSV file containing matched source and target mailboxes.

Click Import from CSV to open a CSV file with mailbox pairs (Fig. 9., item 2). A new window opens where you need to map the data from your CSV file with the parameters used by the program (Fig. 10.).

The Import matched mailboxes window is used to prepare the CSV file for import.
Fig. 10. The Import matched mailboxes window is used to prepare the CSV file for import.

In Step 1, adjust the formatting options (file encoding, fields delimiter and text qualifier) to match the formatting used in you CSV file. The data shown in Step 2 needs to be displayed correctly in columns. If your CSV files contains headings for each column, select the First line contains column headers checkbox. If the headings are recognized, the column names in the preview will change from Column 1, Column 2 etc. to column names specified in your file.


To migrate a mailbox of user Megan Bowen, you need to include the following data in a CSV file:

Source mailbox email address*:
Source mailbox ID*: 5ds8a4ds-hfdf-6sd5-98nt-cmrj3a92n26c
Source mailbox first name: Megan
Source mailbox last name: Bowen
Source mailbox display name: Megan Bowen
Target mailbox email address*:
Target mailbox ID*: fn378c2b-1bgb-14cb-7vmw-0m38128nv418

* mandatory fields


The mandatory CodeTwo data fields use the following Office 365 property values:

  • Source mailbox email address = UserPrincipalName
  • Source mailbox ID = ExternalDirectoryObjectId

and the following on-premises Exchange property values:

  • Source mailbox email address = UserPrincipalName
  • Target mailbox email address = PrimarySmtpAddress
  • Source/Target mailbox ID = ExchangeGuid

A valid entry in a CSV file created in a text editor will look like this:

"";"5ds8a4ds-hfdf-6sd5-98nt-cmrj3a92n26c";"Megan";"Bowen";"Megan Bowen";"";"fn378c2b-1bgb-14cb-7vmw-0m38128nv418"

A valid CSV file created in Excel is shown below (Fig. 11.). This example includes the mandatory data only and contains column headings.

A correctly formatted CSV file, viewed in Excel.
Fig. 11. A correctly formatted CSV file, viewed in Excel.

Learn more about importing data to the program from a CSV file

Read this article and use the scripts provided to create a valid CSV file for migration

Once you verify that the data is displayed correctly in the preview, match the columns in your CSV file to data fields required by our migration tool by using the drop-down lists in Step 3. Make sure to match all the mandatory fields marked with an asterisk (*), otherwise you will not be able to proceed.

Click Import to close the window and return to the migration job wizard. If no problems were detected, click Next to proceed to schedule your migration job (Fig. 12.).

Data import from the CSV file completed with no errors.
Fig. 12. Data import from the CSV file completed with no errors.

If any problems were detected during this step, read this article and decide whether to fix the errors or ignore them at this time and continue the migration job configuration.

Mailboxes re-import options

The Re-import mailboxes checkbox is used to control how the program processes additional CSV files imported for a given job:

  • If the checkbox is unselected, the program will add the entries from the new file to those already imported. If the new file contains identical entries that have already been imported, the program will not create duplicates. This allows you to update the mailbox pairs e.g. if you had to fix missing data in the CSV file.
  • If the checkbox is selected, the program will remove the previously imported mailbox pairs and only add mailbox pairs from the most recent file.

Schedule a migration job

Every defined job can be controlled manually or automatically. Using the Scheduler feature (Fig. 13.) you can set the program to automatically run the migration job at desired periods. This functionality may be extremely helpful, considering the fact that the best performance of the migration process is achieved when users are not using their mailboxes. You can define either a weekly recurrence or select individual weeks. No matter which option is used, you need to select on what particular days and hours the migration job should be active. The smallest possible unit is one hour.

Scheduling a migration job.
Fig. 13. Scheduling a migration job.

Learn more about the Scheduler

Set up time and folder filters for migrated items

In addition to the conditions you have set in the Mailboxes step, you can apply additional filters regarding your items (e.g. emails, calendar events, etc.).

Time filter

Thanks to the Time filter step (Fig. 14.) you can decide whether you like to migrate items that are older/newer than a certain point in time or if you want to migrate everything regardless of their age. What is more, the calculations are based on end/due dates (this concerns calendar items, tasks and journals) and delivery time (messages). If those properties are missing, the program will use the last modification date.

Setting up a time filter.
Fig. 14. Setting up a time filter.

Learn more about the Time filter

Folder filter

Moreover, you can define which folder types will be migrated in the Folder filter step. For example, you can decide to exclude folders like Junk Email (Fig. 15.).

Setting up folder filters.
Fig. 15. Setting up folder filters.

Learn more about the Folder filter

Configure other settings

The program can migrate more than one mailbox at the same time. The number of mailboxes migrated simultaneously depends on the job type (Exchange/Office 365/IMAP) and its optimum value is set automatically in the Advanced settings step (Fig. 16.). You can change this setting, but keep in mind that the main bottleneck of the migration may be the upload bandwidth and inappropriate modification of this value might result in performance losses. This step also allows you to set the maximum size of items to be migrated.

Advanced settings.
Fig. 16. Advanced settings.

Learn more about the Advanced settings step and what affects the migration speed

Review the configuration of your job

In the very last step - Job summary - you will be able to check if all preferences are properly set (Fig. 17.). When you are done, click Finish. Keep in mind that you can always edit the migration job settings later.

Job summary.
Fig. 17. Job summary.

Start a migration job

Once you finish the migration job wizard, you will be redirected to the Jobs tab. Use the Start button (Fig. 18.) to begin your migration job. Keep in mind that the Administration Panel needs to be open in order for the migration job to run. In addition, if you have scheduled your migration to start at some other point in time, make sure that the Administration Panel will be also open then. Otherwise, the migration will not begin. Once the migration starts, you can see the progress in the main pane - either on the list of Mailboxes or on the Job migration progress card.

Starting a migration job in CodeTwo Exchange Migration
Fig. 18. Starting the migration process.


There can be only one migration job running at a time. All other jobs are queued according to the order presented on the list.

As users are usually still working on their source mailboxes during the migration process, new items are constantly created. To include the newly created items in your job, you can restart the migration process at any point by clicking the Rescan button on the top menu of the Administration Panel. The program will rescan everything, including the already migrated mailboxes, but only the new items will be migrated.

Learn more about the Rescan feature

Editing job settings

To edit an existing migration job, go to the Jobs tab, select the migration job you want to edit (the job needs to be paused or otherwise inactive) and click Edit on the top menu (Fig. 19.). The same job configuration wizard will open that you used to configure the migration job in the first place. Editing the time or folder filters in a migration job is essential when performing staged migrations.


Once you start a migration job, you cannot change the source and target server connections for the given job (Fig. 19.). If you want to perform the migration between another pair of servers, you need to configure a new migration job.

You cannot change server connections once the migration job has been started.
Fig. 19. You cannot change server connections once the migration job has been started.

However, in case you need to change the server connection e.g. because you’ve changed the domain name in your source and/or target environment, follow these steps to learn how to do so.

See next

Additional migration options - learn about supplementary migration options for individual mailboxes.

Was this information useful?