Our API runs a live SMTP handshake with the recipient mail server to prove an address is real, then disconnects before any message is sent. It is the most reliable way to verify an inbox, wrapped in one simple REST call.
Get your API key, free Read the docs 100 free credits, no card. We run the SMTP checks, so your IP is never involved.# What happens under the hood (no message is sent) > connect mx.example.com:25 < 220 mx.example.com ESMTP ready > HELO verify < 250 Hello > MAIL FROM:<probe@verify> < 250 OK > RCPT TO:<jane@example.com> < 250 OK mailbox exists > QUIT # disconnect before DATA // API response { "status": "passed", "smtp_check": true }
The same conversation a mail server has with a real sender, stopped one step early.
We look up the MX records for the domain to find where its mail is actually received.
We connect over SMTP and begin the greeting, exactly as a sending server would.
The recipient server tells us whether that specific address exists and can receive mail.
We close the connection before any message is transmitted and return a clear status.
Syntax and MX checks tell you a domain could receive mail. Only an SMTP check tells you the mailbox is really there.
A perfectly formatted address on a live domain can still be a dead mailbox. The SMTP step is the only way to know the inbox itself exists.
No message is sent and the lookup runs from our infrastructure, so your sending IP and domain stay clean.
The SMTP handshake runs alongside catch-all, disposable, spam-trap and role detection for a complete verdict on every address.
You do not manage SMTP sockets or timeouts. Send an address, get a status, with SDKs for six languages.
How SMTP verification works in practice.
SMTP email verification confirms that a mailbox exists by talking to the recipient mail server directly. The verifier opens an SMTP connection, begins the steps a real sender would take, and reads how the server responds to the address, then disconnects before any message is actually sent. It is the most reliable signal that an inbox is real.
No. The check stops at the point where a real send would begin. Email Verifier API performs the SMTP handshake to confirm the mailbox, then closes the connection without delivering a message, so the recipient never sees anything.
A live SMTP check is far more accurate than syntax or MX checks alone, which is why our 16-point engine targets 98% accuracy. The one case no SMTP check can resolve with certainty is a catch-all domain, which accepts every address at the protocol level.
Yes. The engine identifies when a domain is configured to accept all addresses and returns an "unknown" status so you can handle those separately. See our catch-all email verification page for how we treat them.
No. You are not sending mail, so there is no impact on your sending IP. We run the SMTP checks from our own managed infrastructure, so your servers and domain are never involved in the lookup.
Call the REST API with an email address and read the returned status. We provide copy-paste SDKs for PHP, Python, Node.js, Go, Ruby and C#, so SMTP-grade verification is a few lines of code in any stack.
Add SMTP-grade verification to your stack with one API call. Start with 100 free credits, no credit card.
Get your free API keyNeed verification inline at signup speed? See the real-time API. Dealing with accept-all domains? Read about catch-all verification.