SMTP has a fallback rule for missing MX

RFC 5321 describes mail routing by looking up MX records. If no MX record exists, the sender can treat the domain as if it had an implicit MX pointing to the domain name itself and then resolve its address records. This historical fallback means that absence of an MX record does not by itself prove the domain cannot receive email. It may be unusual in modern hosted email, but a verifier should represent the nuance instead of converting “no MX” directly into “invalid domain.”

Null MX means something different

RFC 7505 defines the Null MX convention for domains that explicitly do not accept email. A Null MX is an affirmative signal, not merely a missing record. If the domain publishes the defined null target, treat that as strong evidence that mail delivery should not be attempted. This distinction matters because both states may look like “no normal mail exchanger” in a simplistic DNS checker, yet their intent is opposite: one falls back to the host, the other says no mail service.

Check whether the domain itself resolves

If there is no MX, resolve the domain’s A and AAAA records as SMTP routing requires. If neither exists, there may be no fallback destination. Keep DNS errors distinct: NXDOMAIN says the domain name does not exist, while NODATA can mean the domain exists but lacks the requested record type. Verification logs should preserve the resolver result so you know whether the issue is missing mail configuration, a nonexistent domain, or a temporary DNS failure.

Do not perform aggressive SMTP probing by default

Even when a fallback host resolves, SMTP acceptance behavior can be ambiguous. Some servers reject address probes, use greylisting, tarpitting, or accept-all behavior. For a small outbound operator, DNS-level checks are useful for obvious invalid states, but they do not create certainty about an individual mailbox. Keep results such as deliverable, undeliverable, and risky/unknown rather than pretending a single network probe proves the mailbox exists.

Treat no-MX domains as a review class

If the domain exists and has an address-record fallback, place the lead in a lower-confidence verification state rather than global suppression solely for no MX. You can prioritize records with normal MX infrastructure for first campaigns and manually review unusual domains. If the address later produces a permanent recipient or routing failure, that real delivery evidence can update the suppression state. This preserves caution without discarding potentially valid organizations.

A worked DNS classification

example-a.test returns MX records: normal mail-route candidate. example-b.test returns no MX but has an A record: fallback-capable under SMTP, mark unusual. example-c.test publishes Null MX: do-not-send. example-d.test returns NXDOMAIN: domain invalid. example-e.test returns SERVFAIL: temporary DNS uncertainty, retry verification later. These categories are much more useful than a single boolean mx_exists because they map directly to different outbound actions.

Remember that provider migrations create temporary odd states

During DNS cutovers, an organization can briefly have missing or changing MX answers because of TTLs and configuration mistakes. If a previously healthy lead suddenly has no MX, compare historical data and retry after the DNS issue clears before marking it permanently dead. Conversely, a brand-new domain with only a website A record may simply have never configured mail. Verification recency and prior successful delivery are valuable context.

Store DNS evidence with the verification timestamp

Save the lookup time, response class, MX targets if any, fallback address records, and whether a Null MX was present. DNS is mutable. A lead verified six months ago may have moved providers, while a domain that was broken yesterday may be repaired today. Timestamped evidence lets re-verification logic decide what is stale instead of acting on an eternal “MX false” flag.

Distinguish implicit MX fallback from an explicit null MX

SMTP’s historical delivery algorithm does not automatically treat “no MX record” as “domain cannot receive mail.” If no MX is found, a sender can fall back to the domain’s address record as an implicit mail exchanger. RFC 7505 exists specifically because that fallback made it hard for a domain to declare that it accepts no mail: a null MX (`MX 0 .`) is the explicit no-service signal. A verifier that labels every no-MX domain invalid will therefore create false negatives, while a verifier that ignores null MX will waste attempts on domains that have clearly opted out of receiving mail.

Store at least four DNS outcomes: ordinary MX exists; null MX exists; no MX but A/AAAA exists; and the domain itself is non-existent or temporarily unresolved. The no-MX-with-address case deserves cautious review rather than automatic acceptance, because many web hosts do not run SMTP even though protocol fallback is possible. For outbound hygiene, passive DNS classification is usually safer than aggressive recipient probing. Save the resolver result and timestamp because DNS can change during provider migrations. If later delivery produces a permanent domain-level failure, let the real SMTP evidence update the record. This layered model respects the protocol while acknowledging that technical possibility and practical deliverability are not the same thing.

Do not turn implicit-MX support into a deliverability promise

The protocol fallback only says where an SMTP client may attempt delivery; it does not guarantee that a mail service is listening on the domain’s A or AAAA address. For list QA, label this case accurately—`no_mx_with_address_fallback`—and avoid marketing it as “verified deliverable.” If a normal campaign later receives a permanent connection or recipient failure, that stronger evidence should supersede the DNS possibility. This language matters because founders often interpret a verifier’s green check as certainty and then blame reputation when a technically reachable-looking domain never accepted mail.

Field checklist

  • Differentiate missing MX from Null MX.
  • If MX is absent, check A/AAAA fallback before declaring the domain impossible.
  • Keep NXDOMAIN, NODATA and SERVFAIL as separate verification states.
  • Use risky/unknown rather than false certainty for unusual hosts.
  • Re-verify after DNS migrations or temporary resolver failures.
  • Store the lookup evidence and verification timestamp.

Primary sources

Standards and provider policies can change. These links are the reference points used for this field note.

  1. RFC 5321 — Simple Mail Transfer ProtocolIETF / RFC EditorSMTP reply classes, retry semantics, envelopes and mail transport behavior.
  2. RFC 7505 — Null MXIETF / RFC EditorDefines null MX and distinguishes it from the SMTP implicit-MX fallback when an MX record is absent.