How to Fix cPanel Email Not Receiving: MX Records, Mail Routing & Quota Troubleshooting

Priya

Content Writer & Researcher

Last Updated: 18 July 2026
How to Fix cPanel Email Not Receiving: MX Records, Mail Routing & Quota Troubleshooting
🖥️

cPanel Email Not Arriving? Our Team Will Find the Root Cause Fast

CloudHouse Technologies diagnoses and fixes cPanel email delivery failures — MX record issues, mail routing errors, Exim faults, and blacklisting — so your inbox stays reliable. Get hands-on help today.

🖥️12,400+PCs Fixed
⭐4.9★Google Rating
⚡<15 minAvg. Response
🛡️ISO 27001Certified

When cPanel email stops receiving messages, the impact is immediate — missed client emails, failed order confirmations, and broken contact forms. The problem is almost always one of five root causes: incorrect MX records, wrong mail routing setting, a full email quota, a blacklisted IP, or Exim delivery failures. This guide covers every cause with exact diagnostic commands and step-by-step fixes.

💡 None of these worked? Skip the guesswork.

Get Expert Help →

Step 1: Verify MX Records Are Correct

MX (Mail Exchanger) records tell the internet which server handles email for your domain. If they point to the wrong server, email goes nowhere.

1Check MX records via command line
dig MX yourdomain.com +short
# or
nslookup -type=MX yourdomain.com 8.8.8.8

The result should show your server's hostname, for example:

10 mail.yourdomain.com.
2Verify the A record resolves to your server IP
dig A mail.yourdomain.com +short

This IP must match your cPanel server's IP. If it does not, the MX record is pointing to the wrong server.

3Update MX records in cPanel Zone Editor

Navigate to cPanel → Domains → Zone Editor → click Manage next to your domain. Locate the MX record and verify its value matches your server hostname. If you are using Cloudflare, ensure the mail subdomain A record is not proxied (grey cloud icon, not orange). Proxied mail records break email delivery.

4Check propagation status

DNS changes take up to 48 hours to propagate globally. Use a tool like dig @8.8.8.8 MX yourdomain.com to check against Google's DNS before assuming the update took effect.

1Check current mail routing in cPanel

Log into cPanel → Email → Email Routing. You will see one of three settings for your domain:

  • Automatically Detect Configuration — cPanel checks MX records and decides automatically
  • Local Mail Exchanger — all email is delivered locally on this server
  • Remote Mail Exchanger — email is forwarded to an external mail server (Office 365, Google Workspace, etc.)
  • Backup Mail Exchanger — this server holds mail temporarily and forwards it elsewhere
2Set the correct routing

If your email accounts are hosted on the cPanel server (the default setup for most shared and VPS hosting), select Local Mail Exchanger and click Change. If email is hosted on Google Workspace or Office 365 but your website is on cPanel, select Remote Mail Exchanger.

3WHM-level check for email routing

As a server administrator in WHM, navigate to WHM → Email → MX Entry and check the routing setting for the affected domain. You can also check the Exim configuration for local domains:

cat /etc/localdomains | grep yourdomain.com

If the domain is missing from /etc/localdomains, Exim will not accept mail for it locally. Add it with:

echo "yourdomain.com" >> /etc/localdomains

Then rebuild the Exim configuration:

/scripts/buildeximconf
service exim restart
1Check quota in cPanel

Navigate to cPanel → Email → Email Accounts. Look at the Disk Usage column for the affected account. If it shows the quota is full (e.g., "500 MB / 500 MB"), the mailbox is rejecting new mail.

2Increase the quota

Click Manage next to the email account → Edit → increase the Mailbox Quota or set it to Unlimited. Apply the change.

3Check via command line
du -sh /home/username/mail/yourdomain.com/emailuser/
4Check server disk space

Even if the individual account quota is not full, if the server itself is out of disk space, Exim cannot write new mail to disk:

df -h

If /home or / shows 100% usage, free disk space before expecting email delivery to resume.

1Run an email trace

In cPanel → Email → Track Delivery. Enter the email address you want to test receiving on (e.g., info@yourdomain.com) and click Run Report.

2Interpret the trace output
  • "Success — virtual_user to local delivery": The server accepted the message correctly. The problem is likely in your email client, not the server.
  • "Deferred": The message is queued but not yet delivered — check disk space and Exim queue.
  • "Failed — address rejected": The email account does not exist or the domain is not in localdomains.
  • "Routed to remote": Mail routing is incorrectly set to remote — fix as described in Step 2.
1View recent delivery attempts
tail -100 /var/log/exim_mainlog | grep yourdomain.com
2Search for rejected or bounced messages
grep "rejected" /var/log/exim_mainlog | tail -20
grep "bounce" /var/log/exim_mainlog | tail -20
3Check the Exim reject log
tail -50 /var/log/exim_rejectlog
4Look for delivery queue backup
exim -bpc
# Shows count of messages in queue
exim -bp | head -30
# Shows queued messages with details

If the queue is backed up, check why messages are not being delivered. Common causes: DNS resolution failure, remote MX rejection, or Exim service crash.

1Find your server's mail IP
grep -i "^primary" /etc/cpanel/exim_outgoing_ip 2>/dev/null || curl -s http://checkip.amazonaws.com/
2Check IP reputation

Use MXToolbox (mxtoolbox.com/blacklists.aspx) or MultiRBL (multirbl.valli.org) to check your IP against major blacklists. If listed, follow each blacklist's delisting procedure.

3WHM Email Deliverability tool

WHM → Email → Email Deliverability shows a diagnostic summary of SPF, DKIM, DMARC, rDNS, and potential blacklisting issues for all domains on the server.

1Check authentication records via WHM

WHM → Email → Email Deliverability → click Repair for any domain showing issues. This automatically rebuilds SPF and DKIM records.

2Manual SPF check
dig TXT yourdomain.com +short | grep spf

A basic SPF record looks like: v=spf1 +a +mx ~all

3Manual DKIM check
dig TXT default._domainkey.yourdomain.com +short

For expert help configuring mail routing and fixing persistent email delivery issues across cPanel servers, CloudHouse Technologies provides managed cPanel server support with email deliverability as a core focus.

Quick Reference: cPanel Email Not Receiving Checklist

  • MX records point to correct server hostname
  • Mail routing set to "Local Mail Exchanger" for locally hosted email
  • Email account quota not full
  • Server disk space available (df -h)
  • Domain present in /etc/localdomains
  • Exim service running (service exim status)
  • IP not blacklisted (MXToolbox check)
  • Webmail accessible and receiving (test at :2096)
  • SPF and DKIM records present in DNS
  • Email client using correct IMAP/POP3 settings

Get the Free Linux Server Admin Cheatsheet (PDF)

Essential commands for server management, networking, and troubleshooting — all on one printable page.

Running Linux servers? Let us manage them for you.

Our Managed Linux Server plans cover updates, security hardening, monitoring, and 24/7 incident response — so your servers stay up and your team stays focused.

  • Proactive OS patching and security updates
  • 24×7 monitoring with instant alerting
  • Backup configuration and disaster recovery
  • Dedicated Linux engineers on call
See Pricing Plans →

What our customers say

“Our production server went down at 2 AM. CloudHouse had it back online in under 20 minutes. Incredible response time.”

Arun S.

CTO, SaaS Startup

“They migrated our entire infrastructure from Ubuntu 18 to 22 with zero downtime. Couldn't have asked for better.”

Deepak N.

DevOps Lead

Frequently Asked Questions

The most common causes are: mail routing is set to Remote Mail Exchanger instead of Local, the email account quota is full, the MX records point to the wrong server, or the domain is missing from /etc/localdomains. Start by checking Email Routing in cPanel, then verify MX records with 'dig MX yourdomain.com +short', and run the Email Trace tool in cPanel to see exactly where delivery fails.

Need this done for you?

Server Management Service

Managed Linux and Windows servers: monitoring, patching, security and 24/7 support.

Learn more

Book your free 15-minute diagnosis

A certified technician will call you back within 15 minutes during business hours.

Share this article

Leave a Comment

Comments (0)

Loading comments...