What is SMTP verification?
SMTP verification confirms whether an email mailbox exists by opening a connection to the recipient's mail server and starting — but never completing — a message delivery. The server's response reveals whether it would accept mail for that address.
The SMTP handshake, step by step
The verifier looks up the domain's MX records to find the mail server, opens a connection, and issues the same commands a real sender would: HELO/EHLO to introduce itself, MAIL FROM to declare a sender, and RCPT TO with the address being checked. At the RCPT TO step the server either accepts (250) or rejects (550) the recipient.
Crucially, the verifier stops there. It never sends DATA, so no email is actually delivered. The recipient sees nothing; the check only reads the accept/reject signal from the handshake.
What SMTP verification can and can't tell you
On a well-behaved domain, a 550 at RCPT TO is a reliable signal that the mailbox doesn't exist. This catches the largest category of bad addresses — typos and abandoned accounts — before they bounce.
It has limits. Catch-all domains accept everything, so a 250 doesn't prove the mailbox exists. Some servers use greylisting (temporary deferral) or deliberately accept-then-bounce to frustrate probing. Robust verification therefore combines SMTP with syntax, MX, disposable, and reputation checks rather than relying on the handshake alone.
Doing it safely at scale
Running SMTP probes from your own servers risks getting your IPs blocklisted, because mail providers treat repeated RCPT TO probing as abusive. A verification API distributes probes across reputable IPs, respects rate limits and backoff, and handles greylisting retries for you.
Mailbeam runs the SMTP check in parallel with its other checks and returns a structured result, including a distinct flag for servers that block probing, so you can tell 'mailbox rejected' apart from 'couldn't determine'.
In practice
Verifying sam@example.com, Mailbeam connects to example.com's MX server and issues RCPT TO: sam@example.com. The server replies 550 5.1.1 user unknown — the mailbox doesn't exist — so Mailbeam returns valid: false with reason: mailbox_not_found, all without sending an actual email.
Frequently asked questions
Verify emails with confidence
Mailbeam handles all of this for you — syntax, MX, SMTP, catch-all, and disposable checks in one API call. 1,000 free verifications/month, no credit card.