What a verifier can learn without sending anything
Three sources of information are available without a message. The address itself can be parsed for syntax. DNS can be queried for the domain's MX records, which reveal whether the domain accepts mail at all and which provider handles it. And the mail server can be asked, over SMTP, whether a specific mailbox is accepted.
That last step is the important one. An SMTP session starts with EHLO, MAIL FROM, and RCPT TO commands. The server answers RCPT TO with a code that says whether it will accept mail for that address. A verifier reads that code and then sends QUIT instead of DATA, so the session ends with nothing delivered.
Why some servers will not give a straight answer
The method depends on the receiving server being honest at the RCPT TO step, and not all of them are. Catch-all servers accept every address and sort out the bad ones later, so a 250 reply proves nothing. Greylisting servers reply with a temporary 4xx code to every unfamiliar connection. Some providers rate limit or block connections from networks they do not recognize.
A good service reports these cases rather than guessing. VeriDock returns risky with reason catch_all for accept-everything domains, and unknown with reasons greylisted, timeout, or unavailable_smtp when the server would not cooperate. Unknown results are not billed, so you lose nothing by retrying.
- Catch-all: the server says yes to everything, so a yes carries no information.
- Greylisting: the server says try later, and a retry after a delay often succeeds.
- Blocked probes: the server drops or times out the connection, so only the DNS checks complete.
- False positives: a mailbox that is accepted today can be deleted tomorrow.
Verification is not a delivery guarantee
Confirming a mailbox exists is different from confirming your message will reach it. Once the address passes, delivery still depends on your sender reputation, authentication records, message content, and the recipient's spam filter. Verification removes the addresses that are certain to bounce, which protects reputation, but it cannot see what happens after the server accepts a real message.
Think of verification as checking that the mailbox exists, not as checking that the owner will read your mail.
One address versus a whole list
For a single address, a GET request to a verification API returns the answer in under a second for most domains. This fits signup forms and support tools where you need a result while the user waits. For a list of thousands, run a bulk job instead: upload a CSV or send an array, let the service work through the domains in parallel, and collect the results through a webhook or a download when the job completes.
Bulk jobs also handle the retry logic for greylisted servers, which matters because a large list will always contain some domains that need a second attempt.
Key takeaways
0/4Try it on a real address
Run syntax, DNS, MX, disposable, and role checks on any address. No signup needed.
Enter an address and press Check.
Runs real syntax, DNS and mail-server checks.
This demo checks syntax, domain, mail server, disposable and role-address rules. Sign up free for live mailbox checks.
Frequently asked questions
Verify addresses with one API call.
250 free checks every month, recurring. Unknown results are never billed.