Migration from MailEnable to Exchange Server 2016/2019 | Step by Step Guide | IMAPSync Utility
Mail Migration | IMAPSync | Linux Utility

Migration from MailEnable to Exchange Server 2016/2019 | Step by Step Guide | IMAPSync Utility

MailEnable Server 

MailEnable is a Windows-based, commercial mail server distributed by MailEnable. Ltd, an Australian-based software company which was established in 2002. 

MailEnable's features include support for IMAP, POP3 and SMTP email protocols with SSL/TLS support, list server, anti-virus and anti-spam and webmail functionality. Administration functions can be performed using the Microsoft Management Console (MMC) or a web browser. 

Microsoft Exchange Server

Exchange Server lets you accomplish more with rich Outlook experiences on phones, tablets, desktop, and the Web. Integration with Outlook, SharePoint, and OneDrive for Business helps you experience collaboration better when receiving, editing, and sharing documents without ever having to leave Outlook. New search capabilities deliver faster performance and more accurate results. Inbox enhancements in Outlook 2016 and Outlook on the web, such as inline previews for URLs and inline video, help you stay focused and productive.

A simplified architecture brings new levels of reliability with automated repair and faster recovery. Expanded data loss prevention, easier auditing, and faster and more reliable eDiscovery help your organization comply with legal requirements. 

Migration Scenario 

 The standalone “MailEnable Server” where all users are configured with “IMAP” protocol. A “Mailbox Export utility” is provided by MailEnable that facilitates exporting mailboxes to remote mail server using “SMTP” connector. Based on my experience this utility export “Inbox” items smoothly nothing else like “Sent Items” , “Tasks” , “Contacts”, “Calendar” etc. So, we have to consider other migration options.

Migration Options 

Mailbox Export Utility

This utility facilitates exporting mailbox from source server to remote mail servers using “SMTP” connector. This utility export “Inbox” items smoothly nothing else like “Sent Items” , “Tasks” , “Contacts”, “Calendar” etc. 

No alt text provided for this image
MailEnable Export Utility

Conversion to *.PST 

There’s another method to migrate mailboxes using 3rd party tool like “Turgs Maildir Wizard”. This tool allows you to convert .pst files from MailEnable Server. MailEnable Server place mailbox files on local disk that make it easier to play with that files. 

No alt text provided for this image

IMAPSync Utility (Migrate one by one User) 

Fortunately still we have a chance to move mailboxes using IMAPSync tool, if users are configured with IMAP protocol in your MailEnable organization that make it lot easier to move mailboxes. This IMAP sync tool will move “Inbox” “Send Items” “Deleted Items” “Junk Email” but you will not be able to move “TASKS” “CONTACTS” “CALENDAR”. So, you need to be very careful before consider all migration options mentioned above.  Note: This Utility will move single user at time. 

How to Migrate Bulk Users 

Imapsync is an IMAP transfer tool (Linux based) used for copying emails from one IMAP server to another IMAP server. This article will help you to install imapsync on Ubuntu, Debian, and LinuxMint systems and transfer all your Mailboxes and emails between two IMAP servers.

Prepare the Migration Environment

MailEnable Server

I have existing MailEnable Server in my lab with the following test users to be migrated. In this scenario I have 13 test users but I’ll demonstrate only one or two users.

No alt text provided for this image
MailEnable to Exchange Server

Exchange Server 2016 

The new deployed Exchange 2016 Servers. As you know Microsoft Exchange Server is tightly integrated with Active Directory so I created the same users on Active Directory. After then Mailbox users were created using Exchange Admin Center in Exchange 2016 Server as you can see in the following snapshot.

No alt text provided for this image

These are “IMAP” enabled users. Basic Authentication (Plain Text) is configured on Exchange 2016 Server so, our IMAP Sync utility required Basic Authenticaiton.

No alt text provided for this image

Installation & Configuration of IMAPSync

You can download this tool from the following link; 

https://sourceforge.net/projects/rximapmail/ 

After installation you need to configure this tool using it’s configuration file shown in the following diagram. (C:\Program Files (x86)\Radix\ImapSync). In the first section source MailEnable server will be configured and second section will be configured with destination Exchange 2016 server.

No alt text provided for this image

Open command prompt and locate the IMAPSync directory where it is installed.

Type ImapSync.exe and press enter a dialog box will be prompted.

No alt text provided for this image
IMAPSync Migration
No alt text provided for this image

Check the following and proceed next.

No alt text provided for this image
No alt text provided for this image

Bulk Migration of Mailboxes (using imapsync linux utility)

Step 1 – Install Prerequisites 

Let’s start with the installation of required packages for imapsync. Here are a long list of Perl libraries and other packages to install on your system.

$ sudo apt-get install git rcs make makepasswd cpanminus

$ sudo apt-get install libauthen-ntlm-perl \ 

     libclass-load-perl libcrypt-ssleay-perl liburi-perl \ 

     libdata-uniqid-perl libdigest-hmac-perl libdist-checkconflicts-perl \ 

     libfile-copy-recursive-perl libio-compress-perl libio-socket-inet6-perl \ 

     libio-socket-ssl-perl libio-tee-perl libmail-imapclient-perl \ 

     libmodule-scandeps-perl libnet-ssleay-perl libpar-packer-perl \ 

     libreadonly-perl libsys-meminfo-perl libterm-readkey-perl \ 

     libtest-fatal-perl libtest-mock-guard-perl libtest-pod-perl \ 

     libtest-requires-perl libtest-simple-perl libunicode-string-perl 

Also, install required Python modules using CPAN on your system.

$ sudo cpanm Mail::IMAPClient JSON::WebToken Test::MockObject


$ sudo cpanm Unicode::String Data::Uniqid 

Step 2 – Install Imapsync 

After completing the installation of required packages. Download the latest code of imapsync from official git repository on your local system.. 

$ git clone https://github.com/imapsync/imapsync.git 

Navigate to newly cloned repository and install it with the following commands on your system.

$ cd imapsync

$ mkdir -p dist 

$ sudo make install  

At this stage, your system is ready for migration all data from one email account to other email accounts using IMAP. 

Step 3 – Transfer Emails with IMAP 

So you are ready for migration. Before migration make sure both accounts have IMAP running and accessible from your system. After that use following command syntax.


$ imapsync --host1 imap.source.example.com  \

   --user1 user@example.com 	\ 

   --password1 S0urcePassw0rd  	\ 

   --ssl1	 \ 

   --host2 imap.dest.example.com    \ 

   --user2 user@example.com 	\ 

   --password2 Dest1nat10NPassw0rd  \ 

   --ssl2 

let’s say we want to transfer 10 accounts, it sucks to run the command 10 times, so we can automate that, but we need some scripting, first you create a file called imapsync-accounts.txt here we’ll put the users and passwords, as following:

user1;password1

user2;password2 

#... 

user9;password9 

user10;password10  

Keep in mind, username and password need to be the same on source and destination server for this to work. 

Then put the following code into a file in same path as the imapsync-accounts.txt and call it imapsync-batch.sh: 

You can find the code here https://gist.github.com/lucasRolff/5a6079ed5ec5bec1af74 

Then you can simply run the script by running:

bash imapsync-batch.sh 

And it should start syncing all email accounts to the new server. 

Please keep in mind, that it needs to list all emails and calculate size of those emails before proceeding, so sometimes it might seem that the script is stuck, but it’s just calculating sizes in the background. 

Another cool thing is, some imap servers use a ‘Send mail’ folder called ‘Sent Messages‘ – where others might use ‘.Sent‘. imapsync will know about this and map the Sent Messages or .Sent folder correctly on the destination server.



To view or add a comment, sign in

Others also viewed

Explore topics