Security Auditor — checks that the domain of the audited URL publishes MX records, so sending mail servers know where to deliver email addressed to it.
Deliverability
Email from customers, partners and password-reset flows only arrives when MX records point at a mail server.
Standards
Follows RFC 5321 Simple Mail Transfer Protocol §5.1 and recognises the RFC 7505 null MX.
someone@example.com, it asks DNS for the MX records of example.com and connects to the host with the lowest preference value. A domain without MX records leaves the sender to guess (RFC 5321 falls back to the domain’s own address record), and a domain whose only MX record is the null MX 0 . tells every sender that it accepts no email at all. This auditor queries the MX records of the domain of the audited URL. It never fetches the page.
How it works
- Domain — takes the hostname of the audited URL and strips one leading
www., sohttps://www.example.com/contactis audited asexample.com. An empty or malformed URL, or one without a hostname, ends the audit with501. - Lookup — queries the MX records of that domain through the system resolvers, with no cache. A resolver failure (SERVFAIL, timeout) ends the audit with
500: it is not a missing record. NXDOMAIN and NODATA count as “no MX records”. - Rules — no MX record at all fails (
400); a domain whose MX records all point at the root (0 ., the RFC 7505 null MX) warns (300). - Aggregate — FAIL wins over WARNING; when at least one MX record points at a real host the audit is
SUCCESS(200) and the message lists the hosts sorted by preference. - Specification pin — every run emits
37A-DnsMailMxAuditor-100(INFORMATION), naming RFC 5321 Simple Mail Transfer Protocol §5.1 (October 2008). It does not change the overall status.
What it audits
Every row maps to onecheckRule* method and one CheckCode, in the order the auditor runs them. CheckCode suffixes use status ranges: 100 information, 200 success, 300–399 warning, 400–499 fail, 500–599 error.
Output documentation
Risks and considerations
Why MX records matter
- Contact forms, order confirmations, password resets and replies from customers all depend on senders finding the domain’s mail server. A domain without MX records receives whatever the fallback to its address record happens to deliver, which is usually nothing.
- A null MX (
0 .) is a deliberate, valid statement that the domain never receives email (RFC 7505). It is right for a domain used only for a website or for sending, and wrong for one that has mailboxes, so this auditor warns rather than fails.
What is audited
- The domain is the hostname of the audited URL minus one leading
www.. A page onshop.example.comis audited asshop.example.com, whose MX records may legitimately differ fromexample.com. - The auditor queries DNS only. It does not connect to the listed mail servers, check that they resolve, or test SPF, DKIM or DMARC (see the other DNS Mail auditors).
- A domain that mixes a null MX with real hosts violates RFC 7505; the auditor reports the real hosts as a success and leaves the null MX in the check data.
Changes from the previous version
- A null MX (
0 .) used to be reported asSUCCESSwith an empty host; it is now aWARNING(300). - An empty, malformed or host-less URL used to be a
FAIL; it is now anERROR(501), because nothing about the domain was observed. - A resolver failure (SERVFAIL, timeout) used to be reported as “no MX records” (
FAIL); it is now anERROR(500), so a transient DNS problem no longer looks like a missing record. - Unexpected exceptions used to be caught and returned as
FAIL; the core now reports them asERROR.