How to verify a work email before you send
A guessed address is a bet, not a fact. Here's what actually confirms one.
A guessed address — first.last@company.com — is a bet, not a fact. Real verification connects to the domain’s mail server and asks whether that specific mailbox exists: the same handshake a real email would trigger, stopped one step before delivery. That’s different from checking that an address just looks well-formed, or that the domain has an MX record at all — both pass for almost any address at almost any company, guessed or not.
Three levels, only one of them means anything
Syntax validation checks the address has an @ sign and a domain-looking string after it. It catches typos, nothing else. Domain validation checks the domain has an MX record, so mail could theoretically be delivered there — but says nothing about any specific mailbox on it. Mailbox verification is the only level that actually asks the receiving mail server whether this exact address exists, via the same SMTP conversation a real send would start. If a tool only does the first two and calls the result “verified,” it’s guessing with extra steps.
The catch-all wrinkle
Some domains accept mail to any address — a deliberate configuration, not a bug — which means the mail server will say yes to a guess and a typo alike. No verification method, ours included, can confirm a specific mailbox on a catch-all domain; the honest response is to say so and hand back the best pattern match as unconfirmed, rather than reporting it as verified. See why “verified” finders often aren’t for more on this. The standalone explanation is catch-all emails explained, and the mailbox check on its own is how to verify an email address. Both link to the free tools.
Why it matters more than list size
A list of 1,000 guessed addresses that’s 60% accurate will bounce roughly 400 times. Past a domain- specific threshold — usually cited around 2–5% — mailbox providers start treating the whole sending domain as suspect, not just the individual bad addresses. See what a high bounce rate actually costs you for the mechanics. A smaller, verified list outperforms a bigger guessed one almost every time, because the guessed one is quietly spending your domain’s reputation to find out which addresses were real.
A practical workflow that does not bounce the domain
- Get the domain right. Website ≠ mailbox domain. Use MX lookup if
brand.comandgetbrand.comboth exist. - Find or paste the address. Finder for a name; verifier if you already have the string.
- Read the status, not the email column. Only verified belongs in a sequence. Catch-all is a research note. Not found is a skip.
- Authenticate the sending domain with SPF, DKIM, DMARC so the verified list actually lands.
- Warm up if the From: domain is new. Warmup guide.
Skipping step 3 is how "we verified the list" still produces a 12% hard-bounce. Someone verified domains.
The mailbox check itself, without the rest of the send workflow, is how to verify an email address. If step 3 comes back catch-all, read catch-all emails explained before you send. The check on both pages is the free email verifier.
What "connects to the mail server" means, without theatre
SMTP has a conversation: you say who you are, you say who the mail is for, the server says OK or not, then you might send the body. Verification stops before the body. The server has already answered "does this mailbox exist?" for a well-behaved host.
Well-behaved is doing a lot of work in that sentence. Some hosts greylist probes. Some tarpit. Some accept everything. We label catch-all and unknown instead of minting a fake confidence.
We never send the message. The recipient does not get a ghost email. That is the point of doing this before you send.
Syntax, domain, mailbox — a fictional row
Someone hands you jane.doe@company.com.
- Syntax: it has an
@. Every tool on earth will say valid. - Domain:
company.comhas MX at Google. Still says nothing about Jane. - Mailbox: the server accepts
jane.doe@and rejects a nonsense local-part. Now it is verified.
Jane Doe is not a real person. The row is a teaching device so the three levels stay distinct.
Role addresses and "technically verified"
info@, hello@, careers@ often exist and will verify. They are still usually a bad cold-email target. Verification answers existence, not "should you bother this inbox." Targeting is your job.
Tools on this site that implement the workflow
- Free work email finder
- Free email verifier
- Catch-all checker
- Bulk when the list is already a CSV
- API when the list is already a pipeline
Related glossary
Verify one now
A real lookup against the live mail server — not a sample. Catch-alls and misses are free.
Real lookup against the live mail server — not a sample.
Related
- How to verify an email address
Syntax, MX, and a mailbox check. Only the mailbox check tells you the address exists, and it does not send a message.
- Catch-all emails explained
What an accept-all domain is, why no tool can confirm a mailbox there, and how to check a domain for free.
- Free email verifier: check if a mailbox exists
Check whether a work mailbox exists without sending mail to it. Catch-alls are labelled, not dressed up as verified.
- Email verifier: mailbox check, catch-alls free
Verify a work email without sending to it. Catch-all domains are labelled catch-all and are not billed as valid. Syntax and MX checks are not verification.