This manual refers to an old version of CodeTwo Office 365 Migration. Go here if you use the latest version.

Advanced settings and options

CodeTwo Office 365 Migration offers additional options that improve the migration process and let you take control of the mailbox items that will be migrated. These options are available as steps in the migration job wizard or the server connection wizard.

To access the migration job wizard, click Edit on the program's ribbon.

To access the server connection wizard, go to Dashboard and click the cogwheel button located in the upper-right corner of the Defined source/target server connections cards.

Source mailboxes

The Source mailboxes step allows you to decide which mailboxes should and should not be migrated, using different built-in filters (Fig. 1.). Migration is possible only for mailboxes located within the domain (and its subdomains) under which the program is running.

Office 365 Migration new job 2
Fig. 1. Setting up mailboxes conditions.

Every filter can be used either as a condition which includes the mailboxes or as an exception that excludes them. You can, for example, set the program to migrate all the users from an Organizational Unit or exclude a user group from migration. The available filters are:

  • All Active Directory users (default setting) – all the users who have a mailbox.
  • Public Folders (default setting) – all public folders. Be aware that the program automatically consumes 25 licenses for public folders migration.
  • Active Directory users – chosen Active Directory user or users. If a user has no active mailbox, the program will not allow you to add such a user.
  • Active Directory group – all members of an Active Directory group. The program will automatically add only those members who have active mailboxes.
  • Email address filter – all the users whose email addresses match a defined filter.


    You can use the asterisk (*) sign to list mailboxes whose email addresses match a pattern. For example, * will include all the users located under the domain. You can use several patterns at a time. Simply separate different patterns with the semicolon (;) sign. The example below will include all the users from and

    *; *  

  • Organizational Unit – all members of an Active Directory Organizational Unit. Just like with options above, the program automatically adds only members with an active mailbox.


    Please note that the program will include only users that are actually located within the Organizational Unit.

    Let us say, you have a Group One located in Miami OU. Group One contains users from both Miami OU and Chicago OU. In such a scenario the program will migrate only those users, who actually exist in the Miami OU.

Time filter

In the Time filter step of the migration job wizard, you can choose which items will be included in the migration process based on their age (modification date). This option is mainly used for staged migrations. The time filter determines the age of an item depending on the item type. The list below shows which properties are taken into account when defining the item’s age:

  • Contacts – Last Modified Date,
  • Calendars – End Date,
  • Emails – Received Date, then Sent Date, and then Created Date (if the program cannot find the Received Date property, it searches for Sent Date, and so on),
  • Tasks – Due Date or, if this property is missing, Last Modified Date,
  • Notes – Last Modified Date,
  • Journal – End Date.

There are three options to choose from (Fig. 2.):

Office 365 time filter
Fig. 2. Options available in the Time filter step of the migration job wizard.

  • Migrate all items regardless of their age – choose this option to migrate every mailbox item.
  • Migrate only items older than [exact date] – choose this option to migrate only the items that were modified prior to the selected date. For example, if you select 1 December 2016, every item modified before that date will be migrated.
  • Migrate only items not older than [exact date] – choose this option to migrate only those items that were modified on and after the specified date. If you now select 1 December 2016, every item modified on 1 December 2016 up to now will be migrated.

Note that when you decide to migrate items based on their age, the Override the time filter for contact items checkbox (marked by default) will appear (Fig. 3.). Clear this checkbox to apply your custom settings also to contact items.

Migratory-Time filter-6
Fig. 3. Configuring the time filer to migrate all contact items regardless of their age.

Folder filter

The Folder filter step lets you decide which folder types will be included in the migration process. This feature is helpful, e.g. if some folders contain a lot of useless items. Such folders can be excluded from the migration to shorten the migration time and save network bandwidth.


If you are configuring an IMAP job, only mail folders can be chosen. This is due to the limitations of the IMAP protocol.

There are two general types of folders that can be managed using the Folder filter option:

  • default folders
  • special folders

The table below shows the types of default and special folders that can be included in the migration process depending on the type of the source server chosen in the connection wizard:

Source server type Default folders Special folders
  • Exchange Server
  • Office 365
  • Emails
  • Contacts
  • Calendars
  • Tasks
  • Notes
  • Journals


Please note that the contents of Suggested Contacts/Recipient Cache (Contacts type) and RSS (Emails type) special folders will always be migrated, as long as they exist in the mailbox and the corresponding folder type is checked.
In turn, however, some special folders are not available for migration at all - those are i.e. Sync Issues or folders created when putting a mailbox on litigation hold.

*If you choose to migrate Deleted items, the program will migrate only the items present in this folder. Items deleted from this folder (that can be recovered in a particular mailbox by using the Recover Deleted Items feature in Outlook) will not be migrated.

As some of the folders' types are unchecked by default, it means that they will not be included in the migration process unless you mark the corresponding checkbox.

The Junk folder (special folder) is the only folder type that is excluded from migration by default (Fig. 4.). Mark the corresponding checkbox if you want to include this folder in your migration job.

Office 365 Migration folder filter
Fig. 4. Folders that are excluded from migration by default while configuring the migration job.

Advanced settings

The Advanced settings step of the migration job wizard (Fig. 5.) lets you:

  • set the maximum number of concurrent mailbox migrations. In other words, you can decide how many mailboxes should be migrated at the same time;
  • set the maximum size of an item to be migrated.

Office 365 Migration edit job advanced settings
Fig. 5. Advanced settings (Exchange migration via MAPI).

The number of concurrent migrations is limited to 20 to maintain the performance of the migration process. The actual value in this field depends on the job type. For Exchange jobs, the number of simultaneous migration connections is equal to the number of logical processors in your machine. For IMAP jobs, the recommended value is 2. The main bottleneck is usually the upload bandwidth, and in such a case increasing the number of concurrent connections will not directly improve the migration process and may even cause performance loss. You can modify this value on your own, but if you’re configuring a migration job for the first time, we strongly recommend that you leave the default settings. Change the default settings only after you’ve run the migration for some time and found out that the process is too slow. In this case, see also  the migration speed article before making any changes.

The option to change the maximum size of migrated items may be used to improve the migration stability. In the case of Exchange source connections via MAPI, you should decrease the maximum size of migrated items if you encounter errors related to insufficient system memory. In the case of other connections, you should decrease the maximum size of migrated items if you encounter errors related to the Exchange data transfer restrictions.


This step allows you to address data transfer limits that may be imposed by the IMAP server. Often, free email providers (e.g. Google) limit how much data can be downloaded via IMAP per hour, day, etc. The number of IMAP sessions per mailbox can be limited too. Those limits, or the so-called throttling, differ between email service providers, so it is impossible to configure the software in one universal way. If you are about to download a significant amount of data via IMAP (a few or more gigabytes), you should check the help website of your mail provider before starting the migration to find out if there are any IMAP throttling policies set server-side. If yes, configure the software to avoid reaching those limits.

Office 365 Migration IMAP source wizard 2
Fig. 6. IMAP throttling settings.

You can adjust the following options:

  • Max number of IMAP sessions per mailbox – by default, the value is set to 3. This option is limiting the maximum number of concurrent IMAP connections to a single mailbox. 
  • If a mailbox migration is throttled by the server, restart the mailbox in [h] – by default, the value is set to 1 hour. If the migration of a mailbox has been suspended due to the throttling policy, this value specifies how many hours the application should wait before attempting to continue the migration.

Additionally, by using Max data transfer per mailbox, you can define how many megabytes per hour and gigabyte per day can be migrated. After exceeding those limits, the migration of a mailbox will be suspended and the program will move on to migrating other mailboxes. The default value is 0 (zero) which means there is no limit.

Importing CSV file

In several parts of CodeTwo Office 365 Migration, you can import data from a CSV file. The data in the CSV file can be arranged in any order and separated with any delimiter, because the program allows you to easily distinguish and map data from the file to specific fields. Depending on the purpose for which you are importing the file (listing source mailboxes or matching source mailboxes with target ones), different fields are used. Refer to the table below to see what type of data can be provided in the CSV file (green ticks) and which fields are required. 

Field name Listing source

Email address/Login or
Source mailbox Email/Login

  • (required)
  • (required)
First Name or 
Source mailbox First Name
  • (required)*
Last Name or
Source mailbox Last Name
  • (required)*
Display Name
Source mailbox email address/login  
  • (required)*
Target mailbox email address  
  • (required)

* It is required to map either the Source mailbox email address field or
both Source mailbox First Name and Source mailbox Last Name fields. 

Based on this table, when listing source mailboxes from an IMAP server, you need to provide at least the login (or email address) and the password of the mailbox. 

Let's assume that you have an existing IMAP user whose mailbox data you want import in the Source server step of the IMAP migration job wizard:

Display Name: David Black 
Email address:
Password: vHS3dsb5s

To prepare a valid CSV file in a text editor (e.g. Notepad) containing all the data, the file should consist of the following line:

"";"vHS3dsb5s";"David";"Black";"David Black"

Once you select a CSV file in the program, a window opens (Fig. 7.), where you can map the data from the file to mailbox fields used by the program.

Migration tools - import mailboxes csv
Fig. 7. Importing source mailboxes from a CSV file.

Mapping is done in three steps:

  1. Step 1  CSV file options – where you define how the program should read the CSV file to get all data correctly. The following options can be adjusted:
    • Encoding – determines what encoding should be used while reading the file.
    • Fields delimiter – specifies a character that separates data fields in the CSV file. Usually a semicolon (;) or a comma (,) is used, but other separators may also be used, e.g. tab or space. There is also an option to select a custom character.
    • Text qualifier – lets you choose a pair of characters that indicate the beginning and end of a single field (e.g. "David Black"). The program accepts files that use double quotes ("), single quotes ('') or no qualifiers at all.

In addition, if the first row of the CSV file contains column headers, you can select the First line contains column headers checkbox to tell the program to ignore that row.

  1. Step 2  Review your data – where you can preview the data imported from the CSV file. This allows you to verify if correct options were selected in Step 1. The imported data should be arranged in columns. Keep in mind that the program always displays the first 10 rows from the imported file.
  2. Step 3  Mailbox fields mapping – where you can define which field used by the program should correspond to which column from the imported file (e.g. Login = Column 1). The table above shows which fields are required.

After all steps are completed correctly, use the Import button to start importing the data into the program. Once the import is complete, you should see a summary of all the potential errors that might have been encountered.

Below are some of the examples on how to prepare a CSV file, preform mapping in the program and troubleshoot common problems.

Example 1: Importing a CSV file created in Notepad

You want to migrate 3 mailboxes from an IMAP server to your Office 365 tenant using CodeTwo software. For that purpose, you created a CSV file in Notepad (or similar text editor) that contains the data required by the program. The file has the following entries (Fig. 8.):

Office 365 Migration - example CSV file Notepad
Fig. 8. An example of a valid CSV file created in a text editor.

When you import the file to the program, the data shown in Step 2 looks as follows (Fig. 9.):

Office 365 Migration - imported CSV file Notepad
Fig. 9. Data imported from a CSV to the program before applying correct formatting settings.

To make it look correctly, in Step 1, you need to select Comma as fields delimiter, and None as text qualified. Next, in Step 3, map Email/Login to Column 1, Password to Column 2, and Display Name to Column 3 (the last one is optional). The correct settings are shown in Fig. 10.

Office 365 Migration - CSV file Notepad - formatting
Fig. 10. Correctly configured CSV file import settings.

Once done, click Import to import the data from the file to the program.

Example 2: Importing a CSV file created in Excel

You prepared the following entries in an Excel file (Fig. 11.):

Office 365 Migration - bad CSV file Excel
Fig. 11. An example of a badly formatted CSV file created in Excel.

After importing the file to the program and selecting Semicolon and Double quotes options in Step 1, all data is still contained in a single column, as shown in Fig. 12. below.

Office 365 Migration - imported CSV file Excel
Fig. 12. A badly formatted CSV file imported to CodeTwo migration software.

To see what went wrong, try opening the CSV file in a text editor, e.g. Notepad. You will see that Excel added some additional quotation marks while saving the file as CSV:

""""";""Pa55WoRd1"";""Anna"";""Murphy"";""Anna Murphy"""
""""";""Pa55WoRd2"";""Robert"";""Gamer"";""Robert Gamer"""
""""";""Pa55WoRd3"";""Tom"";""Hardy"";""Tom Hardy"""

If you want to use Excel to create a valid CSV file, either remove the double quotation marks from the file shown in Fig. 11. or simply put the data into separate columns, without using any delimiters or qualifiers (Fig. 13.). This can be done easily by using the Text to Columns feature found on the Data tab in Excel.

Office 365 Migration - valid CSV file Excel
Fig. 13. An example of a valid CSV file created in Excel.

The CSV file created in this way can now be imported to your CodeTwo software using the same settings as in this example.

Example 3: Importing a CSV file exported from the Exchange admin center

You’ve exported a list of mailboxes from the Exchange admin center (either in Office 365 or in the on-premises Exchange server) to a CSV file (Fig. 14.), e.g. by following this article.

Office 365 Migration - exported CSV file
Fig. 14. A CSV file exported from the Exchange admin center.

You now want to use this file in CodeTwo migration software to match source and target mailboxes. First, you need to include another column that will contain an email address of the target mailbox (Fig. 15.).

Office 365 Migration - adding column to a CSV file
Fig. 15. Adding additional data to the exported CSV file.

After doing so, import the file to the program. In Step 1 of the Import matched mailboxes window, select Tab as a field delimiter, since the data fields in a CSV file exported from the Exchange admin center are separated with tabs. In addition, you also need to select the First line contains column headers option. In Step 3, map the fields used by the program with appropriate column headers. The correct settings are shown in Fig. 16. below.

Office 365 Migration - format options exported CSV
Fig. 16. Formatting options used for a CSV file exported from the Exchange admin center.

Once done, click the Import button to import the data to the program.

Was this information useful?