cPanel MX routing fix
Fix cPanel MX records and Email Routing.
Use this fix when the domain uses cPanel DNS or shared hosting and inbound email must be routed either to local cPanel mailboxes or to an external mailbox provider.
When to use this fix
- Email to the domain bounces, disappears, or reaches the wrong mailbox system.
- The provider is Google Workspace, Microsoft 365, Zoho, Namecheap Private Email, or local cPanel mail.
- cPanel Email Routing may be set to Local while MX points to an external provider.
- The domain moved hosts or DNS providers recently.
When not to use this fix
- Only WordPress transactional mail fails but normal mailbox receiving works.
- The issue is SPF, DKIM, or DMARC authentication after mail is already being sent.
- The error is SMTP login/authentication rather than inbound receiving.
Routing decision matrix
| Mailbox provider | MX should point to | cPanel Email Routing |
|---|---|---|
| cPanel mailbox on same hosting account | Host/cPanel mail exchanger | Local Mail Exchanger |
| Google Workspace | Google Workspace MX records | Remote Mail Exchanger |
| Microsoft 365 | Microsoft 365 tenant MX | Remote Mail Exchanger |
| Zoho / Private Email / external provider | Provider MX records | Remote Mail Exchanger |
Before and after
Before
Provider: Google Workspace
MX: mail.example.com
cPanel routing: Local
After
Provider: Google Workspace
MX: Google Workspace MX records
cPanel routing: Remote
Verification checklist
- Check active public MX records for the exact domain.
- Confirm the MX provider matches the mailbox system users actually open.
- Confirm cPanel Email Routing is Local only for cPanel-hosted mailboxes.
- Send an external test message and wait for DNS propagation before changing SPF/DKIM.
Do NOT do this
- Do not change MX before verifying which provider owns the actual mailboxes.
- Do not keep old cPanel MX records after moving mail to Google, Microsoft, Zoho, or Private Email.
- Do not set cPanel routing to Local for an external mailbox provider.
- Do not edit SPF/DKIM while inbound mail is still going to the wrong provider.