Glossary

What Is SMTP Verification?

How a verifier checks a mailbox with the receiving server, and what the result can and cannot tell you.

Get your free API key →Free to start. No credit card. 1,000 records to spend whenever you like.

SMTP verification is a check that asks the receiving mail server whether a mailbox exists, by starting an SMTP conversation and stopping before any message is sent.

SMTP, the protocol mail servers use to hand messages to each other, is defined in RFC 5321 (September 2026). A verifier uses the first steps of that protocol and ends the session before the message body.

Why it matters for outbound

Syntax and DNS checks only prove an address is well formed and the domain can receive mail. They cannot tell you that jane.doe was deleted when she left.

SMTP verification closes that gap. Sending to dead mailboxes produces hard bounces, and a high bounce rate damages the sending domain for every later campaign. Verify before you send, not after the first bounce report.

It has limits. Some servers accept every recipient and bounce later, which is a catch-all domain. Others refuse to answer probes. A good verifier reports those cases as uncertain instead of calling them valid.

A passed check is also a snapshot. People change jobs and mailboxes get closed, so a result goes stale. Re-check lists on a schedule before large sends.

Example

A verifier checking jane.doe@acme.com does this:

code
1. Look up the MX record for acme.com
2. Connect to the mail server
3. HELO verifier.example
4. MAIL FROM:<check@verifier.example>
5. RCPT TO:<jane.doe@acme.com>
6. Read the reply, then QUIT

Reply 250 means the server accepts the recipient. Reply 550 means the mailbox does not exist. A 4xx reply means try later, so the result stays unknown.

To test for a catch-all, the verifier repeats step 5 with a random address such as zq81x@acme.com. If that is accepted too, the domain accepts everything and the first 250 proves nothing.

In LeadOcean data

LeadOcean exposes the outcome as email_status on every person record, and as the emailStatus filter on /v1/people/search. Values include verified, catch_all_valid, catch_all, risky, unknown, untested and invalid.

On a work address, verified means LeadOcean's own verifier tested it and the server accepted it. A supplier's claim does not earn that label. Personal addresses are not verified by LeadOcean, so treat their status as a lead to check (openapi.json, September 2026).

The verified_batch_date field on the v2 email results (/v2/people/email/work) shows which verification run checked the address. The count_leads MCP tool counts verified, catch_all_valid and catch_all people by default, and it is free. See email verification explained and the verification tools comparison. Pricing is on /pricing.

More guides sit in the deliverability and verification hub.

Search people with a verification status on every email

Free to start. No credit card. 1,000 records to spend whenever you like.

Get your free API key →