Explainable verification
Explainable email verification: see why, not just what
Every result shows its work. A status to act on, the precise reason, a plain-English summary and the checks behind it, down to the mail server's own reply.
100 free credits · No card required
How it works
Six layers of explanation on every result
Start with the status. Drill down as far as you need, all the way to the raw SMTP reply.
-
statusWhat to do
deliverable, risky, undeliverable or unknown. One field to branch on.
-
sub_statusWhy, precisely
The exact cause, such as mailbox_not_found, greylisted, role_based or catch_all.
-
evidence.summaryIn one sentence
A plain-English explanation you can show to a teammate or a customer.
-
evidence.checksThe proof
Each check that ran, marked pass, fail, warn or skipped, with the raw detail such as the SMTP reply.
-
verdict_sourceWhere it came from
Whether the verdict was decided by SMTP, DNS, syntax, a list match, an earlier result or pre-checks.
-
retry_afterWhen to try again
On unknown results, how many seconds to wait before retrying, for example after greylisting.
In the API
The same evidence, in every response
POST /v1/verify returns an evidence object next to the verdict, so you can log it, show it in your own product or use it to debug a send.
{
"email": "tom.baker@fieldstone.io",
"status": "undeliverable",
"sub_status": "mailbox_not_found",
"reason": "rejected_email",
"score": 0,
"verdict_source": "smtp",
"evidence": {
"summary": "tom.baker@fieldstone.io does not exist or was rejected by the mail server.",
"sub_status": "mailbox_not_found",
"checks": [
{
"name": "Syntax",
"status": "pass",
"detail": "RFC-compliant address format"
},
{
"name": "Domain / DNS",
"status": "pass",
"detail": "Domain resolves"
},
{
"name": "MX records",
"status": "pass",
"detail": "2 MX host(s): fieldstone-io.mail.protection.outlook.com, mx2.fieldstone.io"
},
{
"name": "Mail provider",
"status": "pass",
"detail": "Hosted on microsoft (reputable)"
},
{
"name": "SMTP mailbox check",
"status": "fail",
"detail": "550 5.1.1 User unknown"
},
{
"name": "Email authentication",
"status": "pass",
"detail": "Configured: SPF, DKIM, DMARC"
}
]
}
} The evidence
Up to 12 evidence checks per address
Syntax and the SMTP check appear on every result. The others appear whenever they apply, so the trail stays short and relevant.
-
Syntax
Every result
Whether the address is correctly formatted, and what is wrong if it is not.
-
Domain / DNS
Every result that reaches DNS
Whether the domain resolves. Temporary DNS failures are a warning, not a failure.
-
MX records
Every result that reaches DNS
The mail hosts that receive email for the domain.
-
Mail provider
Known providers
The mailbox provider behind the domain, such as Google or Microsoft.
-
SMTP mailbox check
Every result
The mail server’s reply, or why the check could not complete: greylisted, blocked or timed out.
-
Catch-all domain
Accept-all domains
How often the server accepted test addresses that cannot exist.
-
Disposable domain
When detected
The domain belongs to a temporary, throwaway email service.
-
Role-based address
When detected
A shared inbox such as info@ or support@ rather than a person.
-
Email authentication
When records exist
Which of SPF, DKIM and DMARC the domain has configured.
-
Spam trap
When detected
The address matches known spam-trap patterns.
-
Abuse list
When detected
A known complainer on the RocketVerifier abuse list.
-
Toxic pattern
When detected
The address matches a known toxic pattern.
FAQ
Explainable verification, answered
What does explainable verification mean?
Every result comes with the reason behind it: a status, a precise sub-status, a one-sentence summary and the individual checks that led there, including the mail server’s own reply. You never have to accept a bare score on trust.
How many checks are in the evidence trail?
Up to 12. Syntax and the SMTP mailbox check appear on every result. Domain, MX, provider, catch-all, disposable, role, authentication, spam-trap, abuse and toxic checks appear whenever they apply to the address.
Is the evidence available in the API?
Yes. POST /v1/verify returns an evidence object with the summary and checks, alongside status, sub_status and verdict_source. Sub-statuses and catch-all verdicts also appear in bulk results, CSV exports and webhooks.
Does the evidence trail slow verification down?
No. The evidence comes from checks that already run on every address, so there is no extra step. Typically under half a second, or 1 to 3 seconds when a live SMTP check is needed.
Why is a result sometimes unknown?
Some mail servers greylist, block or time out verification checks. Rather than guess, RocketVerifier returns unknown with the exact sub-status and a retry_after hint. Unknown results are never charged.
See the evidence behind your own list
Verify a list or a single address and get the reason behind every result.
100 free credits · No card required · Credits never expire