I recently switched the hosting of a customer from one server to another. I always set customer’s email up as IMAP so the mail is stored and can be accessed and synchronised on multiple devices. This ‘How to’ is based on you having a similar setup. There are tools out there that perform this task automatically but being a control freak I wanted to do this manually to ensure all went well…

1. You have an IMAP mail account on one server, and you want to migrate this account and the messages to another server.
2. The old server is still up and running and the nameservers still point to the existing hosting (e.g. the server you are migrating the messages from)

OK, here goes:

1. Create mail accounts on the New server that exactly mirror the settings of the existing accounts and server (same user, passwords etc).
1. Install an additional mail client on your desktop system (I’d recommend a separate one from the main client in case it all goes awry), in this case I we are using Thunderbird 3.
2. For each client you are migrating mail from, create a mail account in Thunderbird using the existing server credentials (e.g. the server you are migrating from: such as mail.oldserver.com)
3. Ensure the account is setup as IMAP in Thunderbird – a world of pain ensues if you neglect this step!
4. Deselect any default Junk mail options for the account (this will stop Thunderbird automatically shifting some of the mail into different mail boxes).
5. Let Thunderbird connect and download all the mail.
6. Create a new Thunderbird mail account for the NEW servers version of the same email account. You will need to use the IP address of the new server as the IMAP and SMTP server names e.g. (as the nameservers aren’t pointing at it yet).
7. Once Thunderbird has connected and set the inbox up you will need to make folders in this mail account that mirror the ones on the OLD servers account.
8. In the OLD Mail account (the one you are migrating from), select each mail folder, CTRL+A to select all the messages, right click and choose ‘Copy to…’ and select the equivalent folder on the NEW server version of the account.
9. Repeat step 8 for all folders/messages in the account (don’t forget the Sent items!).
10. Repeat entire process for every mail account you need to migrate.

Once the mail is the same in both accounts, log in to the old server and update the name servers to point to the NEW nameservers.

My latest book, 'Enduring CSS' is out now

Get $5 off HERE ↠

Write and maintain large scale modular CSS and embrace modern tooling including PostCSS, Stylelint and Gulp