MX records present
The domain can receive mail.
- Severity
- medium
- Tier
- Passive: runs on any URL
- Category
- Fix
- Summary below; full runbook in the Fix Kit, Module 00: Foundations
- Id
- mx
What this means
Passing means your domain has MX records, so mail sent to any address at it has somewhere to go. Failing means there are none: every reply to your transactional mail, every message to hello@ or support@, and every report sent to your DMARC address bounces. A domain can send perfectly well and still be unable to receive.
How we test it
We run an MX lookup on your domain. One or more MX records is a pass. None is a fail; there is no warn state. This is a passive check and needs no setup on your side.
Why it matters
Reply addresses that bounce lose customers and break password resets. A user who replies to a receipt or a sign-in email with a question gets a bounce instead of help, and a DMARC rua= address with no mailbox behind it means the reports you need to move to p=reject never arrive. The Module 00 notes also record the quieter failure: mail to hello@ never arrives because the forwarding destination was never verified or an old MX record from a previous provider is still present.
The fix
Turn on Cloudflare Email Routing for the domain (Cloudflare, your domain, Email, Email Routing, Get started), let it add its three MX records and SPF include, create hello@, support@, dmarc@ and security@ forwarding to your real inbox, and click the verification email Cloudflare sends to that inbox. Remove any MX record that is not Cloudflare's so two providers do not compete, then confirm with dig +short MX YOUR_DOMAIN.
Prompt for your AI
Paste this into the coding agent that built the app. It reproduces the finding and stops before changing anything; the fix steps are in the kit.
Do not change any DNS record. Run: dig +short MX YOUR_DOMAIN and show me the output. If it is empty, say so plainly: the domain cannot receive mail. If records exist, list each host and priority and name the provider the hosts belong to. Tell me whether more than one provider is present. Run: dig +short TXT YOUR_DOMAIN | grep spf1 and tell me whether the SPF include matches that inbound provider. Run: grep -rn "@YOUR_DOMAIN" --exclude-dir=node_modules . and list every from, reply-to and support address the code uses. Tell me what it would take to make those addresses deliverable, and stop before changing anything. Finally run: dig +short MX YOUR_DOMAIN | grep -c . and show the count. Expected 1 or more.
Grade your own URL
Every grade lists this check with its evidence for your site. Two free grades a day.