Most lists go bad quietly. People change jobs, companies rebrand, someone types gmial.com into a web form, and a trade-show scanner captures info@ instead of a person. None of this is visible when you look at a spreadsheet. It only shows up after you hit send, as bounces, spam-folder placement and a sender reputation that takes weeks to rebuild.
This guide walks through how to verify email addresses properly before a campaign goes out. We will cover why bounces matter more than they look, each layer of email verification and what it can and cannot tell you, how to read the results, what to do with every verdict, and how often to re-check a list. At the end, we show how the same workflow runs inside Vedain.
Why bounces hurt more than a few failed sends
A bounce looks like a small, contained failure: one email did not arrive. The real cost is what the bounce tells mailbox providers about you. Gmail, Outlook, Yahoo and corporate mail servers all watch how senders behave. A sender who keeps mailing addresses that do not exist looks like someone using an old, bought or scraped list, and that is exactly the pattern spammers show.
Hard bounces and soft bounces
A hard bounce is a permanent failure. The mailbox does not exist, the domain does not exist, or the server has refused the address for good. A soft bounce is temporary: a full inbox, a server that is briefly down, a message that is too large. Soft bounces often clear on their own. Hard bounces never do, and sending to the same dead address again only adds to the damage.
What a high bounce rate leads to
- •Lower inbox placement. Providers start routing more of your mail to spam or promotions, including mail to your best, most engaged contacts.
- •Throttling. Receiving servers slow down how fast they accept your messages, so campaigns take longer to deliver.
- •Account action from your sending platform. Most email service providers and mailbox hosts watch bounce rates and can pause or limit sending when they climb.
- •Wasted effort. Every dead address in a sequence is a follow-up your team wrote, scheduled and tracked for nobody.
The usual industry guidance is to keep hard bounces well under a couple of percent of what you send. A freshly imported list that has never been checked can easily exceed that, which is why verification belongs before the send, not after the damage shows up in your reports.
The layers of email verification
Email verification is not one test. It is a stack of checks, each cheaper and faster than the next, each catching a different kind of problem. Good tools run them in order and stop early when an address clearly fails. Here is what each layer does.
1. Syntax
The first check is whether the address is even shaped like an email: one @, a local part before it, a domain after it, no spaces or illegal characters. Syntax errors usually come from copy-paste accidents, merged spreadsheet columns or form fields with no validation. They are rare in clean data and common in old imports.
2. Likely typos
A syntactically valid address can still be wrong. priya@gmial.com and sam@company.con pass the syntax test but will never reach a person. A typo check compares the domain against the big mailbox providers and common top-level domains and flags near misses, such as gmial.com for gmail.com or .con for .com. This is one of the most useful checks because the fix is usually obvious and the contact is usually real.
3. Domain exists
Next, does the domain resolve at all? Companies shut down, domains expire, and people sometimes invent a domain to get past a form. If the domain does not exist, nothing sent to it can arrive.
4. Mail server (MX record)
A domain can exist and still not accept email. The MX record tells the world which server handles mail for the domain. No MX record usually means no mailbox of any kind lives there. This check catches parked domains, website-only domains and many placeholder addresses.
5. Disposable and throwaway domains
Some services hand out temporary inboxes that expire after minutes or hours. People use them to download a guide without giving a real address. These addresses may technically accept mail for a short time, but they will not reach a buyer later, and they are a signal that the contact did not want to hear from you.
6. Role addresses
Addresses such as info@, hr@, sales@ and support@ belong to a function, not a person. They often exist and deliver fine. The risk is different: they are shared by several people, rarely opted in to marketing, and more likely to generate complaints. For one-to-one sales outreach they are usually the wrong target.
7. Bounce history
If an address hard-bounced before, it is very likely to bounce again. A good system remembers bounces and stops you from repeating them. This is free information that many teams throw away because the bounce report lives in one tool and the contact list lives in another.
8. Mailbox check (SMTP)
All the checks above look at the address and its domain. The mailbox check goes one step further and asks the recipient's mail server directly whether it would accept mail for this specific address. The verifier opens a conversation with the server the same way a sending server would, asks about the recipient, reads the answer, and then ends the conversation before any email is actually sent. No message lands in anyone's inbox.
This is the only layer that can tell you a particular mailbox exists or does not. It is also the slowest and the one that costs money with most providers, because it takes real network work and has to be done carefully so mail servers do not treat the verifier as abusive.
9. Catch-all and unknown
Not every server gives a clear answer. Some domains are configured as catch-all: they accept mail for any address, real or not, so the server says yes to everything. Others refuse to say, rate-limit the verifier, or respond with temporary errors. Those results come back as unknown. Neither is a failure of the tool; it is a limit of what the receiving server is willing to reveal. We cover catch-all domains in more depth in a separate guide.
How to interpret verification results
After the checks run, each address ends up with a verdict. Different tools use slightly different labels, but they map onto the same three buckets plus the two mailbox-level outcomes that need judgement.
| Verdict | What it usually means | Typical causes |
|---|---|---|
| Valid | The address passed every check that was run. If a mailbox check ran, the server confirmed it would accept mail. | A real, active mailbox |
| Risky | The address may deliver, but something about it raises the chance of a bounce, a complaint or a wasted send. | Disposable domain, likely typo, role address, person known to have left the company |
| Invalid | Mail to this address will not arrive. | Bad syntax, domain does not exist, no mail server, bounced before, mailbox does not exist |
| Catch-all | The domain accepts all mail, so the specific inbox cannot be confirmed. | Server configured to accept every address |
| Unknown | The server would not give a clear answer. | Greylisting, rate limits, timeouts, strict security settings |
A useful mental model: valid means send, invalid means do not send, and everything in between means decide based on context. What that context is depends on how valuable the contact is and how much risk your sending reputation can carry right now.
What to do with each verdict
Verification only helps if you act on the results. Here is a practical playbook you can adopt as a team policy.
- Valid: send as normal. Keep these contacts in your active audiences.
- Invalid: remove from all campaigns and sequences. Do not delete the record if it holds useful history, but make sure it can never be emailed by accident. Try to find a corrected address through the salesperson who owns the relationship or from a recent email signature.
- Likely typo: fix it. When the suggestion is obvious (gmial.com to gmail.com), apply the correction and re-check the address.
- Disposable: exclude from marketing campaigns. If the lead matters, reach out through another channel and ask for a real address.
- Role address: keep for account-level or support communication if that is how the relationship works, but exclude from personal sales sequences and cold outreach.
- Left the company: stop emailing the person at that address and look for their replacement at the account. The old contact may now be a lead at a new company.
- Catch-all: send only to contacts with a reason to engage, in small batches, and watch bounces closely.
- Unknown: treat much like catch-all. Retry later if your tool supports it; many unknowns resolve on a second attempt a day or two later.
The single most useful habit is enforcing these rules at send time, not only in a clean-up project. If a campaign automatically skips invalid addresses, nobody has to remember to filter them out.
How often to re-verify your list
An address that was valid in January can be dead by June. People move jobs, companies merge, and mailboxes get closed. B2B lists decay faster than consumer lists because job changes kill work addresses outright. There is no universal schedule, but these rules of thumb work for most teams.
- •Every new import: verify before the first send. Purchased, scraped or event lists are the riskiest data you will ever load.
- •Before any large campaign: re-check anything that has not been verified in the last couple of months.
- •After a bounce spike: stop, verify the whole audience, and find where the bad data came from.
- •Dormant segments: contacts you have not emailed for six months or more should be treated like a new import.
- •Continuously for forms: run the free checks (syntax, typos, domain, disposable) at the point of capture so bad addresses never reach the CRM.
Re-verification does not have to mean paying for every address every time. Cheap checks can run constantly; the mailbox check can be reserved for addresses that are due, and recent results can be reused.
How to verify email addresses in Vedain
Vedain builds this workflow into the CRM so verification happens where the contacts already live. You will find it under Email Verification in the sidebar. More detail is on the Email Verification feature page.
Quick check: free and unlimited
Every lead and contact gets a quick check at no cost and with no limit. It covers syntax, likely typos of big providers and top-level domains (with a one-click typo fix), whether the domain exists, whether it has a mail server, disposable domains, role addresses, and addresses that bounced before. Bounce history includes bounces in your own workspace and recent hard bounces elsewhere on Vedain. Those shared bounces are stored only as one-way hashes, never as the address itself.
Quick check results sort each address into valid, risky or invalid. Risky covers disposable addresses, likely typos, role addresses and people who have left the company. Invalid covers bad syntax, no domain, no mail server, a previous bounce, and a mailbox that does not exist.
Mailbox verification
For the mailbox level, Vedain runs SMTP checks from its own dedicated verification server. The check asks the recipient's mail server whether it would accept mail for the address and ends the conversation before any email is sent. Results come back as valid, invalid, catch-all or unknown.
- •You pay only for a definite yes or no (valid or invalid): ₹0.40, $0.005 or AED 0.02 per address. Catch-all and unknown results are free. As a guide, 10,000 billable checks cost about ₹4,000 or $50.
- •You see an estimate before you start, and the cost comes from your Vedain wallet.
- •Checks are throttled per mail provider to protect reputation, so a large batch finishes over hours rather than seconds.
- •Addresses the server cannot answer are retried with back-off for up to seven days before being marked unknown.
- •Recent results are reused: valid for 60 days, invalid for 90 days, catch-all for 30 days, so leads and contacts checked recently are skipped and not charged again.
- •Every new workspace gets 50 free mailbox checks to try it out.
Verify an uploaded list
If the list is not in the CRM yet, use Verify a list to upload a CSV or Excel file with up to 200,000 addresses (25 MB). You get an estimate before running, and results download as a CSV you can import or share.
Campaign guard
Each campaign has a verification guard in the campaign builder. You can skip invalid addresses (the default), skip invalid and risky addresses, or turn the guard off. Skipped recipients appear on a Skipped tab with the reason, and the campaign creator is notified if every recipient was skipped. This turns your verification policy into something the system enforces automatically.
If you only need to check a few addresses right now, the free email verifier checks up to 10 addresses in your browser for syntax, typos and role addresses without signing up. Mailbox checks need a free account.
Choosing an email verification tool
There are several good standalone verifiers. ZeroBounce offers pay-as-you-go pricing from $39 for 2,000 checks and 100 free monthly checks if you sign up with a business email, and does not charge for unknowns. NeverBounce publishes a rate of about $0.008 per email for up to 10,000 addresses. Both have public APIs and integrations with many email service providers, which matters if you send from a separate platform.
When comparing, look beyond the headline price:
- •Do you pay for unknown results, or only for definite answers?
- •Are recent results reused, or do you pay again when you re-check the same address?
- •Does verification happen where your contacts live, or do you export, upload, download and re-import every time?
- •Can the results block sends automatically, or does someone have to filter the list by hand?
If your team already works in a CRM and sends from it, keeping verification in the same place removes a lot of manual steps. Our ZeroBounce alternative page compares the options side by side.
Frequently Asked Questions
Does verifying an email address send an email to the person?
No. Syntax, typo, domain, MX, disposable and role checks never touch the recipient. A mailbox (SMTP) check talks to the recipient's mail server, but ends the conversation before any message is sent, so nothing arrives in the inbox.
How can I check if an email is valid for free?
You can run free checks for syntax, typos and role addresses with a browser-based tool such as Vedain's free email verifier. Inside Vedain, the quick check on every lead and contact is free and unlimited. Confirming that a specific mailbox exists requires a mailbox check, which most tools charge for.
Can any tool verify 100% of addresses?
No. Catch-all domains accept every address, and some servers refuse to give a clear answer. Honest tools report these as catch-all or unknown rather than guessing. Your policy for those results matters as much as the tool you choose.
Should I delete invalid contacts?
Not necessarily. The record may hold notes, deal history or a phone number that is still useful. What matters is that the invalid address can never be emailed. A campaign guard that skips invalid addresses handles this without deleting data.
How long is a verification result good for?
It depends on the result and how fast your audience changes. As a rule, re-check before any large campaign if the last check is more than a couple of months old. Vedain reuses valid results for 60 days, invalid for 90 days and catch-all for 30 days.
Verify your list before your next campaign.
New Vedain workspaces get 50 free mailbox checks, and the quick check is free and unlimited for every lead and contact.
Start free