---
title: "How to verify an email before you send"
url: "https://coldmeetings.com/blog/how-to-verify-email-address.md"
canonical_url: "https://coldmeetings.com/blog/how-to-verify-email-address"
last_updated: "2026-10-20"
type: "guide"
summary: "The layers of an email check, what each can and cannot prove, how SMTP behaves, and how to handle deliverable, risky and unknown results with a worked cost."
related: ["https://coldmeetings.com/blog/email-deliverability-guide.md", "https://coldmeetings.com/blog/best-email-and-phone-validation-api.md", "https://coldmeetings.com/blog/cold-emails-going-to-spam.md"]
---

# How to verify an email before you send

> **For AI agents:** the complete index of ColdMeetings pages is [llms.txt](https://coldmeetings.com/llms.txt). Every page is also served as markdown at its URL plus .md.

The layers of an email check, what each can and cannot prove, how SMTP behaves, and how to handle deliverable, risky and unknown results with a worked cost.

Verifying an address means estimating, before you send, whether a message to it will arrive. That estimate comes in layers, and each layer rules out a different failure. A format check catches typos. A domain check catches dead domains. A mailbox check tries to find out whether the specific inbox exists, and it is the hard one.

This post explains what each layer can and cannot prove, what the SMTP standard actually says about checking a mailbox, and how to treat the results. It ends with a worked cost for a fictional list. Bounces matter because Yahoo asks senders to remove invalid recipients promptly and Google suggests automatically unsubscribing recipients who have multiple bounced messages.

## The four layers of a check

The layers run from cheap and certain to expensive and uncertain. Stop a record at the first layer it fails.

What each verification layer can and cannot tell you

| Layer | What it checks | What it can rule out | What it cannot tell you |
| --- | --- | --- | --- |
| Format | The address follows the Internet Message Format | Typos, spaces, missing parts | Whether the domain or mailbox exists |
| Domain | DNS says the domain exists and has mail servers | Dead domains, parked domains with no mail | Whether any mailbox exists on it |
| Mailbox | A mail server is asked whether it will accept the recipient | Many addresses that do not exist | Anything when the server accepts every recipient or hides the answer |
| Risk signals | Lists of disposable domains, role addresses such as info@, and known problem patterns | Addresses unlikely to belong to a decision maker | Whether a person will want the message |

## What SMTP says about checking a mailbox

The mailbox layer uses the SMTP conversation. The standard says that when a recipient is known not to be deliverable, the server returns a 550 reply to the RCPT command, typically with a string like no such user. So a 550 at that step is a strong answer.

The reverse is weaker. The same standard notes that in practice some servers do not verify recipients until after the message text has been received, and that an address can look valid yet be impossible to verify in real time, particularly when a server is acting as a mail exchanger for another server or domain. For the VRFY command, it says a server must not return 250 unless it has actually verified the address, and lets a server answer that it cannot verify. The practical reading is that a server that does not reject a recipient has not promised the mailbox exists. A good verifier therefore returns a graded result, not a yes or no.

This is also why we suggest a verification service over a home-made probe: reading ambiguous server answers at scale and turning them into a graded result is the service's whole job.

## How to treat each result

Services differ in the labels they use, but the results fall into the same four groups. Decide the rule once, write it down, and apply it to every import.

A handling rule for verification results

| Result group | Meaning | Our suggested rule |
| --- | --- | --- |
| Deliverable | The server accepted the recipient | Import and mail normally |
| Undeliverable | The mailbox or domain does not exist | Drop the address and suppress it |
| Risky | Accepts all addresses, disposable domain, role address or a known problem pattern | Leave out of the main send; mail a small, separate batch only if the account is worth the risk |
| Unknown | The server did not give a definitive answer | Hold back and re-check later; do not mail with the main list |

## A worked cost for a fictional list

Take a fictional list of 25,000 addresses where 8% turn out undeliverable and 6% unknown; both shares are assumptions for the example. That is 2,000 addresses that would bounce and 1,500 you would not know about. Mailed unverified, the bounce rate would be 8% on this list, before counting the unknowns that also bounce.

Several verifiers state on their own pages that unknown results cost nothing: ZeroBounce says it never charges for unknown results, Bouncer says it does not charge for duplicates or unknown results, and Kickbox refunds the credit when it cannot give a definitive result. On that basis the credits actually spent here are 23,500, not 25,000. At Kickbox's list price of $150 for 25,000 verifications, that works out to $6.00 per thousand before the refund. The sum for a smaller 10,000 address list at published list prices is $70 at Kickbox and $60 at Bouncer. Compare these with the cost of a burned sending domain, which you cannot buy back with credits.

Prices change and promotions come and go, so read the vendor's page on the day you buy. The next post in this set compares verification and phone validation prices in more detail.

## A routine you can run on every list

Run the same steps every time a list arrives, whether it came from an export, a data provider or a scrape.

1. Remove exact duplicates and anyone on your suppression list before you spend a credit.
2. Run the format and domain checks yourself; they are free and fast.
3. Send the rest to a verification service and store the full result, not just a pass or fail.
4. Apply the handling rule from the table above and log how many records landed in each group.
5. Re-verify a list that has sat unused for months, because mailboxes close and people leave jobs.
6. After the send, put every bounce on the suppression list and compare the real bounce rate with what verification predicted.

## Where verification sits in ColdMeetings

ColdMeetings runs email verification inside the import step. Every address passes format, duplicate, region and do-not-contact checks, an earlier-import check and then verification; risky addresses are left out unless you allow them, and an import charges one credit only for each prospect actually imported. 

## Questions

### Can I check one address by sending a test email?

You can, but a bounce arrives after the fact and counts against your sending reputation. Yahoo asks senders to remove invalid recipients promptly, and both providers publish complaint-rate lines, so a test message to an unchecked address is a poor way to find out.

### What is a catch-all address?

A domain that accepts mail for any name at the domain, so a mailbox check cannot tell a real person from a made-up name. Verification services usually label these risky or unknown.

## Where to go next

- [Prospect lists](https://coldmeetings.com/product/prospect-lists.md)
- [Safe sending](https://coldmeetings.com/product/safe-sending.md)
- [Bounce rate](https://coldmeetings.com/glossary/bounce-rate.md)
- [Suppressions API](https://coldmeetings.com/docs/api/suppressions.md)

## Sources

- [RFC 5321, Simple Mail Transfer Protocol](https://www.rfc-editor.org/rfc/rfc5321), read 2026-10-19
- [Google, Email sender guidelines](https://support.google.com/a/answer/81126), read 2026-10-19
- [Yahoo, Sender requirements and recommendations](https://senders.yahooinc.com/best-practices/), read 2026-10-19
- [Kickbox, Pricing](https://kickbox.com/pricing/), read 2026-10-19
- [Bouncer, Pricing](https://www.usebouncer.com/pricing/), read 2026-10-19
- [ZeroBounce, Email validation pricing](https://www.zerobounce.net/email-validation-pricing/), read 2026-10-19

## Related

- [Deliverability checklist: auth and lists](https://coldmeetings.com/blog/email-deliverability-guide.md)
- [Email and phone validation APIs compared](https://coldmeetings.com/blog/best-email-and-phone-validation-api.md)
- [Cold emails landing in spam: find the cause](https://coldmeetings.com/blog/cold-emails-going-to-spam.md)
