What each result means, and how we decide it.
Teaching you the edges of this is more useful than quoting an accuracy percentage. Here is the full reference, including the case nobody can solve.
Deliverable
DELIVERABLEThe mailbox exists and the server accepts mail for it.
Send.
Confirmed by a direct mailbox check against the receiving server, not inferred from the domain.
Undeliverable
UNDELIVERABLEThe mailbox does not exist, or the domain cannot receive mail at all.
Remove.
Covers dead mailboxes, parked domains, and domains with no working MX records.
Risky — catch-all
RISKY_CATCH_ALLThe domain accepts mail for every address, so the individual mailbox cannot be confirmed.
Send with caution, or segment.
Unknowable from outside. We name the domain rather than guess at the mailbox.
Risky — role address
RISKY_ROLEA shared inbox: info@, support@, sales@, billing@.
Exclude from cold sends.
Usually monitored by several people, and a common complaint source on cold outreach.
Risky — disposable
RISKY_DISPOSABLEA temporary or burner domain, created to expire.
Remove.
Matched against known burner domains plus signup-pattern signals.
Risky — spam trap indicators
RISKY_SPAM_TRAPSignals consistent with a recycled or pristine spam trap.
Do not send.
We flag the pattern rather than claim certainty — trap lists are private by design.
Unknown
UNKNOWNThe receiving server would not give a definitive answer, even after retries.
Not charged.
Greylisting, throttling or a server outage. You pay nothing for an answer you cannot act on.
Why catch-all domains are unknowable
A mailbox check asks the receiving server whether a specific address exists. A catch-all domain is configured to accept mail for every address at that domain and sort it out later — so it answers yes to maya@acme.com and yes to qx7zzz@acme.com alike.
No verification service can distinguish the two from outside. Anyone who tells you they can confirm individual mailboxes on a catch-all domain is guessing and charging you for it. We mark it Risky — catch-all, name the domain, and let you decide whether it is worth the send.
Practical advice: segment catch-alls into their own send, watch the bounce rate on the first batch, then treat the domain accordingly.
Confidence scores
Every address carries a 0–100 confidence score alongside its result, so you can set a cutoff stricter than ours. A deliverable at 71 and a deliverable at 99 are both deliverable — but only one belongs in a cold sequence.
| Score | What it usually means | Suggested handling |
|---|---|---|
| 90–100 | Server confirmed the mailbox directly | Send |
| 70–89 | Confirmed, with one weaker signal | Send; exclude from first cold touch |
| 40–69 | Accepting domain, unconfirmed mailbox | Segment separately |
| 0–39 | Conflicting or trap-consistent signals | Do not send |
Why we don't quote one accuracy number
A headline accuracy figure is only meaningful if you also say what the service does with the addresses it cannot resolve. A tool that guesses on catch-alls can report a higher number than one that admits the uncertainty — and you find out which was honest when the bounces arrive. We would rather show you the taxonomy, give you a confidence score per address, and charge you nothing for the ones we could not answer.