Verify an email address without sending a message
You can often find out whether a mailbox exists without sending a message: look up the domain's mail servers, then start the conversation a sending server would have and ask whether the server accepts mail for the address, stopping before any message is transferred. Many servers answer honestly; some refuse to say, and some say yes to everything.
Step 1: look up the mail servers
The domain's MX records list the servers that accept its mail, with a priority. You can see them with a DNS tool, for example dig MX example.com or nslookup -type=mx example.com. No MX records (and no fallback address record) means the domain cannot receive mail.
Step 2: ask the server
Mail servers speak SMTP (RFC 5321). A check opens a connection to the preferred server on port 25 and walks through the start of a delivery:
S: 220 mx.example.com ready
C: EHLO checker.example.net
S: 250 mx.example.com
C: MAIL FROM:<probe@example.net>
S: 250 OK
C: RCPT TO:<jane@example.com>
S: 250 OK ← the server accepts mail for this mailbox
or 550 No such user ← the mailbox does not exist
C: QUITThe conversation ends with QUIT before any message is sent, so Jane receives nothing.
Why it is harder than it looks
- Catch-all servers answer
250for every address, so a "yes" proves nothing there. See catch-all emails. - Greylisting and anti-spam systems delay or reject unknown checkers, often with temporary
4xxanswers. - Port 25 is blocked on most home connections and many cloud providers, so a script on your laptop or server may not be able to connect at all.
- Reputation: an IP address that makes many such checks can be blocked by mail providers, which may then affect your real mail if you check from your sending infrastructure.
- Signals you cannot see in one conversation: disposable inbox services, spam traps and addresses linked to complaints come from data, not from the mail server.
Do it yourself or use a service
| Do it yourself | A verification service | |
|---|---|---|
| One-off check | Feasible with dig and a mail client, if port 25 is open | A few seconds in a web form |
| Many addresses | You run the infrastructure and protect its reputation | Upload a list or call an API |
| Catch-all, greylisting | You interpret the answers | Results say so explicitly (risky, unknown) |
| Disposable, traps, complainers | Not visible | Flagged in the result |
With email-validation.org, no email is sent to the address you check, and results we cannot confirm come back unknown and cost nothing. Try it with the free email checker, or read what email verification is for the whole picture.
How we wrote this: drafted by the email-validation.org team with the help of AI writing tools, from our product documentation and the sources linked in the text.