Know an email is real — before you press send.
Mailverdict checks deliverability at the mailbox level: a real SMTP conversation with the receiving mail server, plus catch-all, disposable and typo detection — returned as one clear verdict with a confidence score.
Six checks, one honest verdict.
Every address runs the full pipeline. The result isn't a guess from a pattern — it's the outcome of an actual conversation with the mail server that would receive the message.
Mailbox-level SMTP
Opens a real SMTP session to the domain's MX and asks whether the specific mailbox accepts mail (RCPT TO) — no message is ever delivered.
Catch-all & role detection
Spots domains that accept everything and role inboxes like info@, support@ — flagged as risky instead of a false “valid”.
Disposable & typo
Recognises throwaway providers and likely typos (gmial.com), so junk never reaches your list.
Confidence score
Every verdict carries a 0–100 confidence, so you can set your own threshold for what counts as safe to send.
Single & batch
Verify one address in real time at signup, or send a whole list to the batch endpoint and get back a per-address verdict.
Private by design
The service is stateless — addresses are verified and discarded, never stored or resold. Your list stays yours.
The pipeline, in order.
Cheap checks first, the live SMTP probe last — an address is only probed against the real server once everything before it passes.
Syntax
RFC-correct format and normalisation.
Provider rules
The mailbox obeys the provider's own username rules.
Lists
Not disposable, role, or a known spam trap.
DNS / MX
Domain resolves and publishes a usable mail server.
SMTP
Live RCPT TO handshake with the receiving MX.
Deep
Extra resolution for catch-all & non-disclosing hosts.
One POST. One clear answer.
A single JSON request returns a glanceable summary plus the full audit trail — every layer that ran and the raw SMTP transcript behind the verdict.
# verify a single address curl -X POST https://avatar-creator.com/v1/validate \ -H 'content-type: application/json' \ -d '{"email":"saif@devhouse.co"}'
- ✓Two shapes — a summary to act on, details to audit.
- ✓Batch endpoint at /v1/validate/batch for lists.
- ✓Streaming variant reports each stage as it happens.
{
"summary": {
"email": "saif@devhouse.co",
"result": "valid",
"reason": "Mailbox exists and accepts mail",
"confidence": 98
},
"details": {
"provider": { "name": "Google Workspace" },
"smtp": { "code": 250, "host": "aspmx.l.google.com" },
"layers": [ /* syntax → … → smtp */ ]
}
}
The honest details.
Do you send email to verify?
No. We open an SMTP session and ask the server whether the mailbox exists (RCPT TO), then disconnect. No message body (DATA) is ever transmitted.
Do you store the addresses I check?
No. The service is stateless — each address is verified in memory and discarded. Nothing is written to disk, logged as a list, or resold.
What about catch-all domains?
Servers that accept every recipient can't confirm a single mailbox, so we return risky rather than a misleading “valid”, and say why.
How accurate is it?
Because the verdict comes from the real receiving server, it reflects actual deliverability at check time — carried with a confidence score so you set the bar.
Can I verify a whole list?
Yes — POST an array to the batch endpoint and receive a per-address verdict, with shared work across addresses on the same domain.
Is there a live status page?
Yes — the service exposes a health endpoint and an operations dashboard so you can see it running in real time.
Verify your first address now.
Paste any email into the live checker above and watch the real SMTP handshake resolve to a verdict.