Email address validator
'Valid' means three different things, and only the first is checkable offline: correct syntax, a domain able to receive mail, and a mailbox that actually exists. This page is honest about which of the three it settles.
How the check works
- 1
Syntax is checked against RFC 5322
Structure, allowed characters, total length capped at 254. This is the only level a browser can settle on its own.
- 2
The domain is isolated and screened
The domain is compared against a list of disposable-inbox providers, and the local part against the role-based prefixes of RFC 2142.
- 3
The rest needs a server
Whether the domain has an MX record is a DNS query, which a page cannot make on your behalf. That is what the API adds.
Why we do not probe SMTP
Asking a mail server whether a mailbox exists (the RCPT TO command) sounds decisive and is not. Catch-all servers answer 250 OK to everything; Gmail and Outlook deliberately return generic accepts to stop account enumeration; and probing hundreds of addresses from one IP gets it listed on Spamhaus, which then penalises your own sending.
A 'verifier' that claims certainty about a mailbox is selling a confidence it does not have.
Valid is not deliverable
An MX record proves a server exists to receive the domain's mail — not that your message clears its spam filter, nor that the mailbox is not full, disabled or abandoned. Validation cuts hard bounces; it does not guarantee the inbox.
Frequently asked questions
Can an email be checked without sending one?
Yes for the form and the domain, no for the mailbox. Syntax and the presence of a mail server are checkable without sending anything. Knowing that a specific mailbox exists requires dialogue with the SMTP server, which is intrusive and unreliable for the reasons above.
Can a domain with no MX still receive mail?
Yes, in one precise case. RFC 5321 §5.1 says that without an MX record, the sending server falls back to the A or AAAA record, treated as an implicit MX of priority 0. A good check looks at MX, then at A/AAAA — otherwise it wrongly rejects small domains that do receive their mail.
Should role-based addresses like contact@ be blocked?
Flagged, not blocked. RFC 2142 normalises a list of them. For an individual signup they signal low quality — shared inbox, more complaints. For B2B contact, contact@ is sometimes the only published address. Make it a scoring criterion, not an automatic rejection.
How do I cut a campaign's bounce rate?
Remove, before sending, the three families that always bounce: broken syntax, domains with no mail server, and disposable domains whose owner is long gone. Email providers watch hard-bounce rates and suspend senders who exceed a few percent.
The same check over API
This tool runs in your browser. To run the same check from your code, in bulk or server-side, the API answers in JSON.
Read the documentation