Server Webmail Migration Guide – cPanel to cPanel

Moving email folders to a new server during a server migration ought to be easy. Email migration should be as easy as pressing a button in cPanel’s Backup Wizard. But, oh no, cPanel offers no such automated email export option. And it is! [Thank you, Valentin, for letting us know in the comments].

In cPanel we can make a full backup of a server account. This back up stores emails and email account information in the directory homedir/mail/. But, what do we do when we want to move emails from one server to another without taking a full back up of the server space? How do we migrate webmail emails between a server when the origin server has multiple addon domains or when we want only the emails and no other data?

Here is a quick and easy way to export all emails from one server and import them into another.

Assumptions

  • The domain name of the email accounts has not changed.
  • The new web server is devoid of emails for the email accounts being moved to it. The email restoration process deletes existing email profile data.
  • Both servers use cPanel & Dovecot. Dovecot is usually installed with cPanel. This email migration process can be adapted to non cPanel server management software. This guide provides instructions for backing up and restoring emails for cPanel accounts only.

Server webmail migration guide

Step 1: Backup and download email folders

In this step we create an export file that contains the emails stored on server 1. This will be our email backup file.

  1. Login to cPanel on server 1
  2. Open File Manager
  3. Go up one directory above public_html (see image 1)
  4. Enter the mail directory (see image 2)
  5. Right-click the directory with the same name as the domain the emails belong to (see image 2)
  6. Compress the directory
  7. Download the compressed file. You might need to reload the directory to see it

The ‘mail’ directory contains subdirectories for each email domain. Each subdirectory is named after the domain the emails belong to. Every subdirectory with a domain name contains mail folders for that domain. For example, the emails for all of JournalXtra’s email addresses are stored in /mail/journalxtra.com e.g. /mail/journalxtra.com/webmaster and /mail/journalxtra.com/noreply.

Step 2: Restore email backups

In this step we import the email backup file into server 2.

  1. Login to cPanel on server 2
  2. Use cPanel to recreate the email accounts (see image 3)
  3. Open File Manager
  4. Go up one directory above public_html (see image 1)
  5. Enter the mail directory (see image 2)
  6. Upload the email backup file
  7. Unzip the file
  8. Delete the zip file
  9. Open webmail
  10. Configure Webmail to show the new email folders

We recreate the email addresses on server 2 before we unzip the backup file because otherwise cPanel deletes the migrated emails when new accounts are created.

Email migration can be easy

Email migration between servers is straight forward. Create an email directory export file. Recreate email accounts on the target server before uploading the export file. Upload the export file to the target server.

The webmail migration method explained above here works when the domain name of the source server is the same as the domain name of the target server. I’ve yet to migrate email accounts between two servers with different domain names but I figure in such a case I could use sed or awk to rewrite the source server domain name written in the export file.

Do you know of an easier way to migrate email boxes between servers?

Sharing is caring!

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

17 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
17
0
Would love your thoughts, please comment.x
()
x