How to Migrate cPanel Email to a Business Email Service
Migrate cPanel email to a dedicated business email service: copy mailboxes over IMAP, fix MX in Zone Editor, set Email Routing and keep your website safe.
On this page
- Why move email off cPanel hosting
- Before you start: collect four things
- The POP3 trap: check where old mail really lives
- Step 1: Copy mailboxes over IMAP
- Step 2: Update DNS without breaking the website
- Step 3: Switch cPanel Email Routing to remote
- Step 4: Top-up, devices and clean-up
- A sensible timeline
- FAQ
To migrate cPanel email, create the same mailboxes at your new provider, then copy each one over IMAP using the cPanel server name, port 993 and the mailbox password. Next, update MX, SPF and DKIM in cPanel's Zone Editor (or wherever your DNS lives), set Email Routing to "Remote Mail Exchanger", run a final top-up copy, and reconnect everyone's devices.
Email that comes bundled with web hosting is how many small companies start. It works until it does not: mailboxes fill up, the shared server's IP lands on a blocklist, or the website and the email go down together. This guide explains how to move cPanel email cleanly without breaking your website.
Why move email off cPanel hosting
There is nothing wrong with cPanel itself. The issues usually come from running email on a shared web server:
- Deliverability. Hundreds of websites may share the server's sending IP. If one of them is hacked and sends spam, everyone's mail can suffer.
- Limited filtering. Spam and virus protection on shared hosting is often basic, and phishing protection is rare.
- One point of failure. A hosting outage, an expired hosting plan or a migration of the website takes the email with it.
- Small quotas and few admin tools. No shared mailboxes with proper permissions, no audit log, little help when someone forgets a password.
Separating email from the website is a common, sensible step. Our article on email for small business covers what to look for in the replacement.
Before you start: collect four things
- A list of every mailbox in cPanel (Email Accounts), plus forwarders and autoresponders (Forwarders, Autoresponders). Forwarders usually become aliases or groups at the new provider.
- The IMAP server name. cPanel shows it under Email Accounts → Connect Devices. It is often
mail.example.comor the host's server name, such asserver123.hostingcompany.com. The server name tends to have a valid certificate;mail.example.comsometimes does not. - Each mailbox's password. If people do not know theirs, you can set a new one in cPanel, but every phone and computer using the old password will stop syncing until updated. Plan that.
- Where your DNS is hosted. Look up your domain's nameservers. If they point to your hosting company, DNS is edited in cPanel's Zone Editor. If they point to Cloudflare or your registrar, you edit DNS there.
Then add your domain and create mailboxes at the new provider. In Zomail, the getting started guide shows the steps, and you can create up to 200 users at once from a CSV.
The POP3 trap: check where old mail really lives
This is the most common surprise in cPanel migrations. Many older setups used POP3 in Outlook, which downloads mail to the PC and, by default, deletes it from the server.
An IMAP migration can only copy what is on the server. If Anna in accounts has ten years of mail in Outlook but only three weeks in cPanel's webmail, the importer will bring three weeks.
For those people:
- Copy what is on the server with the importer as usual.
- Add the new mailbox to their Outlook over IMAP (see connecting email apps).
- Drag their local Outlook folders into the new IMAP account, so Outlook uploads the history to the server.
Our IMAP vs POP3 article explains the difference if you want the background.
Step 1: Copy mailboxes over IMAP
Zomail's importer copies mail from any IMAP server, which includes cPanel, Plesk and most other hosting panels. Two ways to run it:
- Per person. In Settings → Import mail from another account, choose Other IMAP server, enter the server name, port
993, securitySSL/TLS, the old address and its password. Test connection shows the folders that will be copied; then start. - For the whole company. In the admin console, upload a CSV with one line per mailbox:
anna@example.com,server123.hostingcompany.com,anna@example.com,<password>,993,tls
ben@example.com,server123.hostingcompany.com,ben@example.com,<password>,993,tlsThe import runs in the background on the server, leaves the source mailbox untouched, and can be re-run safely: the second pass copies only new messages, with no duplicates. Delete the CSV afterwards because it contains passwords. The migration guide lists the full format and common errors.
Step 2: Update DNS without breaking the website
Change only the mail-related records. Your website's A records and nameservers stay as they are.
| Record | Old (typical cPanel) | New (Zomail) |
|---|---|---|
| MX | mail.example.com or example.com | mx.zomail.io |
| SPF (TXT) | v=spf1 +a +mx include:host... ~all | include _spf.zomail.io (keep the host only if the website still sends mail) |
| DKIM | default._domainkey TXT | CNAMEs zm1 and zm2 |
| DMARC | often missing | _dmarc TXT, start with p=none |
Zomail's DNS page checks each record and can export a zone file. Our guides to MX records and SPF records explain the values.
Keep the mail.example.com A record if old devices still point to it during the changeover; you can remove it once everyone has moved.
Step 3: Switch cPanel Email Routing to remote
This step is easy to miss and causes lost mail. In cPanel, open Email Routing (sometimes listed under Email → Email Routing) and choose Remote Mail Exchanger.
Why it matters: while routing is set to "Local", the cPanel server still believes it hosts your email. Any message generated on that server, such as a contact form on your website or a notification from your shop plugin, is delivered into the old local mailbox instead of following your new MX. Nobody sees it.
After switching, send a test from your website's contact form and confirm it arrives in the new mailbox.
Step 4: Top-up, devices and clean-up
- Wait for DNS to update (usually minutes to a few hours, depending on TTL).
- Run the importer again to catch mail that arrived at cPanel during the switch.
- Reconnect devices. Install the Zomail app on phones or update Outlook, Apple Mail and Thunderbird with the new IMAP/SMTP settings and an app password.
- Update website mail settings. If your site sends through SMTP, point it at the new service or a transactional email provider, and make sure SPF covers whatever sends.
- After a few weeks, delete the old cPanel mailboxes to free disk space, and remove forwarders that no longer make sense.
A sensible timeline
For a team of ten, a calm cPanel migration often fits into a week: day one for inventory and new mailboxes, day two for the bulk copy, day three for DNS and Email Routing, then a top-up and device setup. The work is not hard; the risk lies in the forgotten details, such as POP3 users, website forms and old devices.
If you want email that is separate from your website, with layered spam and phishing protection and an importer that reads straight from cPanel, Zomail is priced per mailbox per month; see the pricing page for current prices.
FAQ
What IMAP server should I use for cPanel email?
Use the server name shown in cPanel under Email Accounts → Connect Devices, with port 993 and SSL/TLS. The hosting server's own hostname usually has a valid certificate, which avoids security errors.
Will migrating delete my website or email from cPanel?
No. The importer only reads mailboxes, and you change only mail-related DNS records. The website keeps running, and old mail stays in cPanel until you delete it.
Why did only recent emails migrate from cPanel?
The person probably used POP3, which downloads mail to the computer and removes it from the server. Add the new mailbox to their Outlook over IMAP and drag the local folders into it.
Do I need to change my nameservers to migrate cPanel email?
No. Keep your nameservers where they are and edit only MX, SPF, DKIM and DMARC records, in cPanel's Zone Editor or wherever your DNS is hosted.
Why are website contact form emails not arriving after the move?
cPanel's Email Routing is probably still set to "Local Mail Exchanger", so the server delivers form mail to the old local mailbox. Switch it to "Remote Mail Exchanger".