Migrating Email from Other Mail Servers in FortiMail


FortiMail supports email migration for users that wish to transfer their user information and data from existing mail servers such as Exchange. The following recipe details the migration process in FortiMail.

FortiMail must be running in Server Mode in order for these steps to work.

Mail flow consideration during migration

Option A: Mail flow pointing to FortiMail

1. Import the migration user accounts and export them to FortiMail local users first, so that these accounts are ready to receive email on FortiMail.
2. Direct inbound mail flow from the old server to FortiMail.
3. Migrate the mail data from the old server. During the migration process, the migrated users may not see their older email for a while.

Option B: Mail flow pointing to existing server

1. All inbound email continue to be delivered to the existing mail server.
2. After user account and mail data migration, export all the migrated users to FortiMail local users, so that these accounts are ready to receive email on FortiMail.
3. Direct mail flow to FortiMail.
4. Migrate the mail data once again to fetch the latest email on the old server.  


1. Select the Console tab from the System Status section.

2. Enter the following CLI commands to enable mail migration. By default, this is disabled and not displayed on the GUI.

config system global
set email-migration-status enable

After entering the CLI commands, refresh the GUI in the web browser to display the mail migration menus and pages.

Entering the CLI commands


3. Define the remote mail settings by going to Mail Settings > Mail Migration > Remote Mail Server and then selecting New.

Note: The Mail Migration selection will not appear unless you enter the proper CLI commands from step two.

4. Enter a name for the remote server and the host name or IP address of the remote server.

Entering the server and user information.


5. Select either IMAP or IMAPS for the protocol and enter the IMAP port number if it is different from the default port number (port 993). Select Create.

6. Create a remote domain under Mail Settings > Domains > Mail Migration Settings of the domain that the user will be migrated to. The remote domain name must be the same as the user’s domain on the remote server. 

If you require more information on how to create domains for mail migration, consult the Creating Domains for Mail Migration section in the FortiMail Administration Guide.

User migration

Now that you have enabled migration, you must now import the user and password information of the individuals you wish to migrate using one of the following methods.


Method 1: If you know the users’ login credentials, enter their user name and password information by navigating to Mail Settings > Mail Migration > Migration Users and select New.

Entering the login credentials.


Method 2: If you can export the user name and non-encrypted password list into a CSV file, import the CSV file by navigating to Mail Settings > Mail Migration > Migration Users and select Action > Import > .CSV File.


Method 3: If the user already has an account on the FortiMail server, import/copy the local user list to the migration user list by navigating to Mail Settings > Mail Migration > Migration Users and select Action > Import > All Local Users. 

Method 4: If the user passwords are encrypted, you must collect their passwords through FortiMail webmail login or SMTP client login by following these steps.

1. Create an authentication profile that uses the remote mail server as the authentication server. For more details on this process, see Configuring Authentication Profiles in the FortiMail Administration Gudie.

2. Create a recipient-based policy that includes the authentication profile and users as senders. For details on this process, see Controlling Email Based on Recipient Addresses in the FortiMail Administration Guide.

3. Use one of the following two methods to collect user passwords:

a. Through FortiMail webmail login: Inform the users to log in to the FortiMail webmail portal, using their email addresses of the remote domain (the domain part needs to match proper authentication policy) and their passwords. Upon successful login, the users will be shown an empty webmail mailbox. This is because the email data has not been migrated yet and this step is only meant to collect user passwords.

b. Through SMTP client login: Inform the users to use the FortiMail host name as their outgoing mail server.

After following any of the above methods, users will need to authenticate through FortiMail. FortiMail will record the user names and passwords into the migration user list, which is located under Mail Settings > Mail Migration > Migration Users.

Mail data migration

Once the users are migrated, transfer their mail boxes from the remote server by following these steps.

1. Navigate to Mail Settings > Mail Migration > Migration Users.

2. Select Migrate > Selected Users or All Users from the Action dropdown list.

3. Select the Stop and Start button to control the migration process if needed.

4. Export the user to the local user list by selecting Action > Export > Selected Users or All Users.

The exported users will appear as local users under User > User.