Moving your email to a new host is riskier than moving just a website, because mail can arrive at the wrong place during the switch if you do the steps out of order. The safe approach is: create the new mailboxes first, copy your old messages into them, then update your domain's MX records last, only after everything else is ready.
Before You Start
- Write down every existing email address, along with its approximate mailbox size.
- Make sure you still have access to both the old hosting account and the new one at the same time. You will need both while messages are being copied.
- Know that MX record changes can take a few hours to fully propagate worldwide, so plan the switch for a quiet period, not the middle of a business day.
Do not delete or cancel the old hosting account until you have confirmed, for a full day or two, that new mail is landing correctly on the new host. Cancelling too early is the most common way people permanently lose messages.
Step 1: Create the Same Email Accounts on the New Host
Before touching any DNS settings, recreate each email address on the new hosting account with the same username and a password you control.
In cPanel
- Log in to the new hosting account's cPanel.
- Under the Email section, click Email Accounts.
- Click Create, enter the same address (e.g. info@yourdomain.co.ke) and set a strong password.
- Repeat for every mailbox on your list.
In DirectAdmin
- Log in to the new hosting account's DirectAdmin panel.
- Click E-Mail Accounts.
- Click Create Mail Account, enter the same address and a strong password.
- Repeat for every mailbox on your list.
Step 2: Copy Existing Messages Using an Email Client
The most reliable way to move message content between two live mail servers is to add both the old and new accounts to a desktop email client (such as Outlook or Thunderbird) using IMAP, then drag the messages across.
- Add the old email account to the client using its current IMAP settings, so all folders download.
- Add the new email account to the same client using the new host's IMAP settings (the new host's control panel or welcome email will list these).
- Once both accounts are showing their full folder lists, select all messages in the old account's Inbox and drag them into the new account's Inbox.
- Repeat for Sent, Drafts, and any custom folders.
For a handful of mailboxes this is usually enough. If you are moving dozens of accounts or very large mailboxes, ask your new host's support team whether they can run a bulk IMAP-to-IMAP transfer on the server side instead, which is faster and does not depend on your computer staying connected.
Step 3: Update Your MX Records
Only after the new mailboxes exist and messages have been copied should you change your domain's MX records to point to the new host. This tells the internet where to deliver new incoming mail.
Update the MX records at wherever your domain's DNS is currently managed, pointing them to the new host's mail server.
Step 4: Confirm Mail Is Arriving at the New Host
- Send a test email from an external address (like a personal Gmail account) to each business address.
- Log in to the new host's webmail and confirm the test message arrived there, not on the old server.
- Keep checking the old mailbox for a day or two. Any message that still lands there during propagation can be forwarded or re-copied manually.
If you are moving your website to the new host at the same time, changes to your MX records are separate from changes to your domain's nameservers or A record. See our guide on pointing your domain to a new host for the website side of the move, and keep in mind that any DNS change can take a while to fully settle, as explained in our guide on how long DNS changes take to propagate.