In this guide · 7 sections
Short answer
Create the users in Google Workspace, run Google's data import tool against your cPanel IMAP server to copy old mail, switch the MX records to Google, then run a delta import to pick up anything that arrived in the old mailboxes during the change. Keep the old mailboxes for a few weeks.
What Google's data import tool copies from cPanel
cPanel mailboxes are standard IMAP mailboxes, so Google treats them like any IMAP provider. Its overview of the data import tool lists what comes across:
| Item | Imported? | Notes |
|---|---|---|
| Email messages, including sent and drafts | Yes | From the start date you choose |
| Folders and subfolders | Yes | They appear as Gmail labels |
| Read and unread status | Yes | |
| Attachments | Mostly | Not if message plus attachment is over 25 MB, or the file type is blocked in Gmail |
| Contacts and calendars | No | Export from Outlook, Thunderbird or Roundcube and import separately |
| Filters, signatures, auto-replies | No | Recreate them in Gmail |
The same page says IMAP imports handle up to 100 users per import. For more, run several imports one after another.
Before you start: the preparation checklist
Most failed migrations go wrong before the import starts. Work through this first:
cPanel to Google Workspace preparation checklist
Step by step: running the import
Google's guide to importing email from an IMAP account sets out the steps. A super administrator must run it.
Turn on IMAP for the Workspace users
In the Admin console, make sure IMAP is enabled for the users you are importing into.
Start an IMAP import
Go to Data, then Data import & export, then Data import. Choose IMAP and enter your cPanel mail server address.
Map the users
For 20 users or fewer, enter each IMAP address, its password and the matching Workspace address. For more, upload a CSV with SourceImapUser, SourceImapPassword and TargetGUser columns.
Choose the settings
Pick a start date for the oldest mail you want, decide whether to import deleted and spam messages, and exclude folders you don't need.
Start the import and watch progress
The console shows discovered, successful, skipped and failed items per user. Large mailboxes can take a while; leave it running.
Check the report
Export the import report and look at failed and skipped items, usually oversized or blocked attachments.
Delete the CSV file afterwards: it contains every mailbox password.
Timing the MX switch so no mail is lost
MX records tell the internet where to deliver email for your domain. The order of steps around changing them is what prevents lost mail.
- Run the first import while mail still flows to cPanel. This copies the bulk of the history.
- Lower the TTL on your MX records a day ahead if your DNS provider lets you, so the change spreads faster.
- Change the MX records to Google's, using the values in Google's MX set-up article, and remove the old cPanel MX records.
- For some hours, mail may arrive in either place while the change spreads. Users should check Gmail from now on.
- Run a delta import the next day to copy anything that landed in the old cPanel mailboxes after the first import.
Our guide to changing MX records without downtime covers the DNS side in detail, including SPF and DKIM for Google.
After the move: checks before you delete the old mailboxes
Keep the cPanel mailboxes for two to four weeks after the switch. They are your backup if something was missed.
- Compare message counts for a few important folders between the old mailbox and Gmail.
- Send test emails from outside your company, including to aliases and shared addresses.
- Check that website contact forms and invoicing systems send through Google correctly, not the old server.
- Set up SPF, DKIM and DMARC for Google so mail doesn't land in spam.
- Reconnect phones and Outlook to the new Google accounts and remove the old IMAP accounts from devices.
- Recreate forwarders as Google groups or aliases.
If mail starts landing in spam after the move, our guide to emails going to spam in Gmail explains the authentication fixes. For Microsoft 365 as the destination instead, see our guide to migrating between Google Workspace and Microsoft 365.
Do it yourself or get help?
For a few mailboxes with modest history and a host that cooperates, the data import tool makes this a manageable DIY job over a weekend. Get help if you have many users, very large mailboxes, shared mailboxes used by several staff, website forms tied to the old server, or no one comfortable editing DNS.
Our Email Migration (S$390) moves mailboxes from cPanel hosting to Google Workspace, handles the MX switch and delta import, and checks forms and devices afterwards. If you haven't set up Workspace yet, Business Email Setup (S$249) creates the account and DNS records first. Our business email setup guide explains the choices.
Frequently asked questions
Yes. cPanel mailboxes use standard IMAP, so Google's data import tool in the Admin console can connect to your hosting mail server and copy messages, folders and read status into Gmail. A super administrator runs the import and maps each cPanel mailbox to a Workspace user.
Yes. Google says folders and subfolders from an IMAP server are imported, and they appear in Gmail as labels. You can exclude specific folders during set-up. Filters, signatures and auto-replies are not imported and need to be recreated in Gmail.
Google lists up to 100 IMAP users per import. Messages are not imported if the message plus attachment is larger than 25 MB, or if the attachment type is blocked in Gmail. Contacts and calendars are not part of an IMAP import and need to be exported and imported separately.
Import the old mail first while it still arrives at cPanel, then switch the MX records to Google. For a short period mail may arrive in either place, so run a delta import afterwards to copy anything that reached the old mailboxes. Keep the old mailboxes for a few weeks before deleting them.
No. The website can stay on your cPanel hosting while email moves to Google; only the MX and email authentication records change. In cPanel, set email routing to remote so website form emails are delivered to Google rather than the old local mailboxes.