How to Verify Email Addresses Before You Send
Verifying your list is the cheapest insurance for deliverability. Here's how email verification works and how to build it into your sending.
Overview
Email verification checks whether an address can actually receive mail before you send to it. It matters because mailbox providers treat high bounce rates as a spam signal: a dirty list doesn't just waste sends, it lowers inbox placement for the good addresses too. For any list you didn't build through confirmed opt-in — found emails, old exports, event lists — verification is the cheapest deliverability insurance you can buy.
How email verification works (the checks explained)
A verifier runs an address through a series of escalating checks, each cheap and fast: 1) syntax — is it a valid email format at all; 2) domain + MX records — does the domain exist and accept mail; 3) a mailbox-level SMTP probe — does this specific inbox exist, without actually sending anything. Along the way it flags categories that need judgment: disposable domains (mailinator.com and friends), role addresses (info@, support@, sales@ — a person rarely reads them), and catch-all domains that accept every address and therefore can't be individually confirmed.
Tools like ZeroBounce and NeverBounce return a status per address — valid, invalid, catch-all/accept-all, or risky — usually with a confidence score. You set the threshold for your tolerance: send to valid, drop invalid, and decide case-by-case on catch-all and role addresses. Here's a sensible default policy:
- Valid → send
- Invalid → suppress permanently (never just delete and forget)
- Catch-all / accept-all → send only to high-value targets, watch closely
- Role (info@, support@) → usually skip for cold outreach
- Disposable → always drop
A simple pre-send verification workflow
Verify in batch right before a campaign, not months in advance — addresses decay roughly 2–3% per month as people change jobs, so a list that was clean in spring isn't clean by autumn. Remove and permanently suppress invalids, keep the list segmented, and re-verify any cold segment before you reuse it. Most important: feed every hard bounce straight back into your suppression list automatically, so a known-dead address can never sneak into a future send.
Aim to keep your bounce rate under ~2% (lower is better) — Google's sender guidelines effectively demand it for bulk senders. Good sending platforms enforce suppression at send time so a bounced or complained address can't slip back into a campaign; Mailbase does this across unsubscribed, bounced, and complained contacts. But the upstream win is always starting with a verified list — see how to avoid the spam folder and email bounce management for the wider picture.
- Verify in batch right before sending, not in advance
- Suppress invalids permanently, don't just delete
- Re-verify cold segments before reuse (data decays ~2–3%/month)
- Auto-feed hard bounces into suppression; keep bounce rate under ~2%
Common Mistakes
- Sending to found addresses without verifying them first.
- Treating a finder's confidence score as a guarantee.
- Guessing a pattern on a catch-all domain and assuming it lands.
- Harvesting personal addresses instead of business ones for B2B outreach.
Sources & Further Reading
Official docs for current setup details, pricing, and API behavior — verify specifics there, since they change.
Related guides
More on how to verify email addresses and the surrounding finding emails workflow:
FAQ
Why do I need to verify email addresses?
Because mailbox providers read high bounce rates as a spam signal. Sending to invalid addresses doesn't just waste effort — it lowers inbox placement for your valid recipients too. Verification removes the addresses that would bounce before they can hurt you.
What's an acceptable bounce rate?
Keep it under about 2%, and lower is better. Google's sender guidelines emphasize minimizing spam complaints and invalid sends, and verifying before each send is the most reliable way to stay under that line.
What does a 'catch-all' result mean?
A catch-all (accept-all) domain accepts mail to any address, so a verifier can't confirm whether a specific mailbox actually exists. Treat catch-all results as risky: send only to high-value targets and watch the bounce rate, or skip them on large sends.
Can I verify emails for free?
Most verifiers offer a small free allotment, useful for testing or tiny lists. For real volume the cost is a few cents per thousand addresses — trivially cheap relative to the deliverability damage a dirty list causes.