One of the difficult task is migrating  email accounts (including old emails) from one cPanel server to another . Please be noted people who are aware of cPanel working should use this article and this is for educational purpose only.

 

Previous Server = Server that the email account is currently on and will soon be moved from it

New Server = Server that you want to move the email account to

Step 1: Create a new email account in the new server with the same address and password as on old

You can do this by going into the cPanel on the NEW SERVER and click on Email Accounts.

Step 2: Download the files from the Previous Server

FTP  to old/previous server and from the root directory, Please go to “mail/domain.com/emailAccount”. Here you will see a  some files. Well you really need to copy are the new and cur directories.

If you have a lot of emails this could take a while.

Step 3: Transfer files to NEW SERVER

When the files are downloaded in step 2 place the new and cur directories in the “root/mail/domain.com/emailAccount” of the respective account on the NEW SERVER. The folder should already be created since you already created the account in step 1.

This step will take some time to transfer over FTP ,  as well or you can simply zip the folders from previous server (new and cur folders)

Step 4: Reset Mail Quota

Now if you check the NEW SERVER you will see that your emails are transferred but your quota says 0/xxx MB. To update a wrong mail quota in cPanel: FTP to the OLD SERVER, open up the maildirsize file at “root/mail/domain.com/emailAccount” and copy all of the contents and paste them into the maildirsize file on the NEW SERVER.

You may have luck copying the maildirsize file on the OLD SERVER and pasting it on the NEW SERVER, however this did not work for me.

Step 5: Change DNS

If you followed all of the steps up to this point you should have all the files transferred, but you still need to point your DNS records to the NEW SERVER in order to have mail go there. When you update your records it could take up to 24 hours to take effect.

Step 6: Test

Finally, send a test email to the account. If that works send an email from the account. Check mails transfer from account to another account or not, if you find the test mails to another mail .. Then you are done.