Moving an email account (including old emails) from one cPanel server to another is pretty easy to do yourself if you have some knowledge of cPanel and FTP.
We will be using the terms LOSING SERVER and GAINING SERVER a lot in this article. Below are the definitions:
LOSING SERVER = Server that the email account is currently on and will soon be moved from
GAINING SERVER = Server that you want to move the email account to
You can do this by going into the cPanel on the GAINING SERVER and click on Email Accounts.
FTP onto the LOSING SERVER and download the files needed. From the root directory, go to “mail/domain.com/emailAccount”. Here you will see a bunch of files. All you really need to copy are the new and cur directories.
If you have a lot of emails this could take a while.
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 GAINING SERVER. The folder should already be created since you already created the account in step 1.
Go get some coffee. This step will take awhile as well.
Now if you check the GAINING 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 LOSING 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 GAINING SERVER.
You may have luck copying the maildirsize file on the LOSING SERVER and pasting it on the GAINING SERVER, however, this did not work for me.
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 GAINING SERVER in order to have mail go there. When you update your records it could take up to 24 hours to take effect.
Finally, send a test email to the account. If that works send an email from the account. You’re done!