Email Address & MX Record Validator
Validate an email address and check whether its domain can receive mail.
🌐 The domain is resolved server-side over DNS-over-HTTPS. Only the part after @ is looked up — the local part is never sent to a resolver, and no mail is sent.
Overview
Two different questions get confused with each other. “Is this address well-formed?” is answerable from the string. “Will mail sent here arrive?” is partly answerable from DNS. “Does this mailbox exist?” is not answerable at all without sending mail, and anything claiming otherwise is guessing.
This tool answers the first two and says so plainly about the third. It checks the syntax against the rules mail servers enforce in practice, then resolves the domain for MX, A/AAAA, SPF and DMARC records — enough to distinguish a typo from a domain that cannot receive mail from a domain whose authentication is broken.
How to use
- Type or paste an address.
- Read the two headline results: Syntax and Domain accepts mail.
- Read the notes. They name the specific problem rather than a verdict.
What the syntax check enforces
RFC 5322 permits far more than mail systems accept. Comments in parentheses, quoted local parts with spaces, and nested folding whitespace are all legal grammar that a substantial share of real servers reject. A checker that accepts everything legal tells you an address is fine when it will bounce.
So the rules applied here are the practical ones:
- The local part may contain letters, digits and
!#$%&'*+-/=?^_`{|}~.— which includes the apostrophe, because names likeo'[email protected]are real, and+, because Gmail-style subaddressing is in daily use. - No leading dot, no trailing dot, no consecutive dots.
- The local part is limited to 64 characters and the domain to 255, per RFC 5321. Each domain label is limited to 63.
- The domain must be a valid hostname with a TLD of at least two letters.
user@localhostis refused; it is meaningful only inside a single machine. - Non-ASCII must be Punycode.
user@日本語.jpis rejected in favour of itsxn--form, because delivery to the Unicode form requires SMTPUTF8 support at every hop.
Reading the DNS result
MX records are listed in priority order, lowest first. Several records are normal — they are fallbacks, and equal priorities distribute load.
Null MX (RFC 7505) is a single record with priority 0 and an empty host. It
means the domain deliberately accepts no mail, and it suppresses the implicit MX
fallback. This is the correct configuration for a domain used only for a website,
and example.com uses it.
Implicit MX is the opposite situation: no MX record at all, so senders fall back to the A or AAAA address. The domain is technically deliverable and the result is usually accidental. Mail arrives at whatever is on port 25 of the web server, which typically means it arrives nowhere useful.
SPF is checked for the faults that break delivery rather than for style. More
than ten DNS-lookup mechanisms (include, a, mx, ptr, exists,
redirect) causes a permanent error under RFC 7208 §4.6.4 and authentication
fails outright — a limit that is easy to cross by adding one more vendor.
+all authorises every sender on the internet and defeats SPF entirely. ptr is
deprecated. A record with no all mechanism is open-ended, unless it uses
redirect=, in which case omitting all is correct.
Two SPF records on one domain is also a permanent error, and it is reported
because it presents as intermittent unexplained delivery failure. It happens
whenever a second vendor’s record is added alongside the first instead of merged
into it with include:.
DMARC is read from _dmarc.<domain>. p=none is flagged: it only collects
reports, so failures are recorded and delivered anyway. It is the right starting
point and the wrong place to stop.
Examples
- A signup form rejecting real addresses — compare your validation with what
is enforced here. Regexes copied from the web routinely reject
+tags, apostrophes and long TLDs. - “They never got my mail” — check the recipient’s domain first. A null MX or a missing MX explains it instantly and moves the conversation off your server.
- Auditing your own sending domain — SPF lookup count,
+all, and a DMARC stuck atp=noneare the three findings that most often explain mail landing in spam. - After adding an email vendor — vendors hand you an
include:and rarely mention the ten-lookup ceiling. Check the total, not the new line. - Investigating a specific message — message header analyser shows the delivery path and the SPF, DKIM and DMARC verdicts as the receiver recorded them, and .eml viewer opens a saved message. This tool answers the question before a message is sent; those two answer it afterwards.
Notes
DNS is resolved over DNS-over-HTTPS with a five-second timeout per query. If a query fails, the fields it would have filled are reported as absent rather than as an error, so a slow TXT lookup does not discard a correct MX result.
The domain is only queried if it is a valid hostname. An address that fails the structural check produces no DNS traffic at all.
The disposable-domain list covers well-known providers as a prompt, not as an
authority — new domains appear constantly and absence from the list means
nothing. The role-account check is likewise informational: info@ and admin@
are perfectly valid addresses that simply do not belong to one person.
No mail is sent, no SMTP connection is opened, and the local part of the address is never included in a DNS query. See the privacy policy.