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 providerMX should point tocPanel Email Routing
cPanel mailbox on same hosting accountHost/cPanel mail exchangerLocal Mail Exchanger
Google WorkspaceGoogle Workspace MX recordsRemote Mail Exchanger
Microsoft 365Microsoft 365 tenant MXRemote Mail Exchanger
Zoho / Private Email / external providerProvider MX recordsRemote 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

  1. Check active public MX records for the exact domain.
  2. Confirm the MX provider matches the mailbox system users actually open.
  3. Confirm cPanel Email Routing is Local only for cPanel-hosted mailboxes.
  4. 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.