SMTP verification, explained
A step-by-step look at the SMTP handshake email verifiers use to check whether a mailbox exists — without sending a message.
7 min read
SMTP verification checks whether a mailbox exists by starting the delivery conversation with the receiving server and stopping before any message is transmitted.
The handshake, step by step
- Syntax check. Is the address structurally valid under RFC 5322?
- Domain check. Does the domain resolve in DNS?
- [MX record](/learn/mx-records) lookup. Which servers accept mail for this domain?
- Connect. Open a TCP connection to the highest-priority MX host on port 25.
- EHLO. Identify the verifying server.
- MAIL FROM. Declare a sender envelope.
- RCPT TO. Ask the server whether it will accept mail for the target address.
- QUIT. Close the connection. No DATA command is ever sent, so no email is delivered.
The answer to RCPT TO is the signal: 250 means the server will accept mail for that recipient, 550 means no such user.
Why the result isn't always binary
- [Catch-all](/learn/catch-all-email) domains answer 250 for everything.
- [Greylisting](/learn/greylisting) returns a temporary 4xx on first contact, so the check must be retried later.
- Rate limiting can throttle or block a verifier that probes too aggressively from one IP.
- Some providers deliberately obscure mailbox existence for privacy.
A serious verifier handles these with distributed IPs, retry logic, per-provider behaviour models, and honest status codes instead of forcing every address into valid/invalid.
What the statuses mean
- Valid — the server confirmed the mailbox.
- Invalid — permanent rejection; do not send.
- Catch-all / accept-all — accepted, but unprovable.
- Disposable — a temporary mailbox from a throwaway provider.
- Role — a shared team inbox.
- Unknown — the check could not complete; retry.
Doing it yourself vs using a service
Writing an SMTP prober is easy; getting reliable answers is not. Most consumer ISPs block port 25 from residential and cloud IPs, unwarmed IPs get blocked quickly, and per-provider quirks need constant maintenance. That is the work a verification service absorbs — see the email verification api for how to call it in one request.
Frequently asked questions
Keep reading
Check an address right now
Free single verification, no account needed — or clean a full list in minutes.