Credits never expire.

See pricing →
All articles
email list validationNovember 4, 202615 min read

Email List Validation: What It Checks and How to Act

Learn what email list validation checks, why lists decay, and how to handle catch-all, disposable and unknown addresses before you send.

CleanMyList Team

CleanMyList

Email List Validation: What It Checks and How to Act

The most popular advice on this topic fits in one line. Run your list through a checker, delete everything marked invalid, and send to the rest. That advice is tidy, and it's wrong in the places that matter most. Some servers won't confirm whether a mailbox exists. Some domains accept every address you invent. Some checks time out for reasons that have nothing to do with your subscriber. Email list validation is useful precisely because it surfaces that uncertainty, not because it erases it. Your job isn't to force every address into valid or invalid. It's to match each result to the right action.

Table of Contents

What Each Validation Check Tests

Email list validation checks each address for format, domain routing, mailbox acceptance and risk before you send. It's a stack of separate tests, not one verdict. Each layer answers a narrower question than the one you care about, which is whether a real person will receive and want your message.

Think of a physical letter moving through checks. First, someone reads the envelope to see if the address is written in a readable format. Next, they confirm the street exists and mail can be routed there. Then they knock to see if anyone answers. Each stage removes a different kind of failure, and passing one stage doesn't prove the next one will succeed.

The Eight Signals and Their Limits

The early checks are mechanical. Syntax catches missing symbols and common typing errors. We catch typos such as 'gmial.com' and 'yhaoo.com', check that the domain exists, and handle international email addresses. A clean format tells you the address could exist. It doesn't tell you it does.

The middle checks depend on other systems answering accurately. A domain may publish a valid mail route while the specific mailbox is closed. A server may accept a probe for every address, including invented ones, which makes the individual result nearly useless. That's why catch-all detection matters as a separate signal rather than a pass.

The later checks are about risk, not existence. A disposable inbox may work today and vanish tomorrow. A role account such as support@ may reach a busy team and still be a poor fit for personalised outreach. Historical bounce data adds memory, but a past bounce can't prove nothing has changed since.

If you want a practical walkthrough of the detection side, these ways to identify invalid emails cover the checks from the sender's side. Read any such guide for the limits column, not just the catches column.

Validation checks, what they test and their limits

Check What It Tests What It Catches What It Cannot Prove
Syntax Address format and allowed characters Missing @, spaces, malformed parts and typos such as gmial.com Whether the mailbox exists
DNS and domain Domain exists and has a mail route (MX or address record) Nonexistent or dead domains That a person reads the mailbox
SMTP mailbox check Whether the receiving server accepts the address without sending mail Closed or nonexistent mailboxes on servers that answer Anything on servers that hide their answers
Catch-all detection Whether the domain accepts any address Domains that say yes to everything Whether this specific mailbox exists
Disposable provider Whether the domain belongs to a throwaway service Temporary inboxes and fake signups Whether the address is wanted
Role account Whether the address is shared, such as info@ or support@ Team inboxes that rarely belong in one-to-one campaigns Whether a real person reads it
Historical bounce reputation Past bounce or complaint history for the address Addresses that bounced before Changes since the last bounce
Send or skip recommendation Combines all signals into one verdict One action per address with a stated reason Consent, relevance or engagement

Analyst's rule: a passed check removes one reason for failure. It never adds up to proof that a person reads the mail.

The final recommendation is only as honest as its inputs. A good one states a plain reason for every address, so you can see whether you're looking at a dead domain, a throwaway provider, or a server that refused to answer. Those are three different problems, and you'll treat them differently.

Why Email Lists Decay Every Year

Your list is getting worse while you do nothing. People change jobs and lose their work addresses. They abandon personal inboxes, let domains lapse, and move providers without telling you. The ZeroBounce email list decay report identified a 23% annual list-decay rate for 2025, and its historical series showed decay of 23% in 2021, 22% in 2022, 25% in 2023, 28% in 2024, and 23% in 2025.

The chart below sets out that yearly pattern and the main reasons behind it.

A chart illustrating the annual decay rate of email lists between 2021 and 2025 due to turnover.

Treat those figures as reported by one large-scale analysis, not as a universal constant for your audience. A B2B list tied to job titles will usually rot faster than a consumer list built on personal addresses. The direction, though, is the same for everyone.

Reported list decay by year

Year Reported Annual Decay Addresses Lost From 100,000
2021 23% About 23,000
2022 22% About 22,000
2023 25% About 25,000
2024 28% About 28,000
2025 23% About 23,000

At a 23% annual rate, a company that collects 100,000 addresses could expect roughly 23,000 to become invalid or otherwise unusable over a year if the list isn't maintained. That's the cost of treating a validation result as permanent. A pass from eight months ago describes a mailbox as it was then, and the person behind it may have changed employers twice since.

This is why aged lists need rechecking before you rely on them. Our guide to cleaning an existing email database walks through preparing an older file for that recheck. Teams in other sectors face the same maintenance problem with their own contact records, whether they're handling subscriber files or managing channel bookings with Premierely. The records differ. The decay doesn't wait.

The video below explains how that gradual decay shows up in campaign results.

Publishers, e-commerce companies, sales teams, and global marketers feel this most because they retain large lists across multiple markets for years. For them, validation isn't a one-time cleanup before a big send. It's a recurring data-quality process, closer to reconciling accounts than to spring cleaning.

Reading DNS and Mailbox Results Correctly

An inconclusive answer is not a rejection. That single distinction is where most list cleaning goes wrong, because it's tempting to treat every non-pass as a bad address and delete it. You'll remove real subscribers whose mail infrastructure had a bad five minutes.

How the Lookup Actually Works

Under the delivery rules in RFC 5321, the SMTP specification, a sender first resolves the recipient domain through DNS, normally looking for MX records, and if no MX exists, SMTP can fall back to an implicit MX using the domain's address record. A nonexistent domain is an error. Temporary DNS failures should generally be retried rather than treated as permanent invalidity.

An MX record on its own isn't enough either. Each MX target should resolve to an A or AAAA address, rather than the checker accepting the mere presence of an MX record. A domain can advertise a mail route that leads nowhere. Our notes on verifying MX records before you send explain how that route check fits into a full validation run.

Classifying DNS and SMTP results

Result Classification Action
Domain does not exist (NXDOMAIN) Hard failure Suppress
No MX and no usable address record Hard failure Suppress
MX target with no A or AAAA address, confirmed on retry Hard failure Suppress
DNS timeout or SERVFAIL Unknown, retryable Retry later, do not suppress
SMTP 5xx rejection (mailbox does not exist) Hard failure Suppress
SMTP 4xx response or no answer Unknown, retryable Retry later
Server accepts the address Passes probe Send, then confirm with engagement

Notice the pattern. Hard failures are statements about the address or domain itself. Unknowns are statements about the check. A timeout tells you the lookup didn't finish. It says nothing reliable about the person you're trying to reach.

Suppress only confirmed hard failures. Rerun unknowns after a delay, so temporary DNS trouble doesn't remove real subscribers from your list.

Why Bounce Reports Cannot Do This Job

The mailbox probe itself is quiet. Verification checks whether the receiving mail server would accept an address without sending any email to it, so sender reputation is not affected and the recipient never sees a message. You're asking a question, not delivering anything.

You also can't skip the probe and rely on bounces from real sends. An MIT-led study of Internet email domains found that only 25% of domains ever returned a bounce for a message sent to an invalid recipient. Servers may avoid confirming whether an address exists for anti-spam reasons, or accept the message and suppress it later.

That finding should change how you read your own reports. A campaign with few bounces hasn't proven its list is clean. It may have mailed a lot of servers that don't answer accurately. Because that study covered a broad sample of servers rather than one provider or country, the lesson applies widely, and it's why pre-send screening shouldn't depend on bounce reports alone.

Handling Catch-All, Disposable, Role and Unknown Addresses

Most guidance forces every result into send or skip. That's the mistake. Catch-all domains, blocked probes, and unknown results can't reliably confirm an individual mailbox, so labelling them invalid wastes real contacts and labelling them safe invites bounces. They need a third path, with its own rules.

The Unspam Email 2025 deliverability benchmark reported that only 60% of messages reached a visible mailbox location, while 36% went to spam and 4% were blocked. Even technically deliverable mail doesn't guarantee visibility, which is exactly why uncertain addresses deserve a cautious, monitored route instead of being dumped into your main send.

The image below shows the sorting mindset you need, with each category kept apart.

A hand sorting email categories including catch-all, disposable, and unknown addresses into separate containers for email validation.

Six Categories, Six Actions

Confirmed invalid addresses are the easy ones. Suppress them and don't revisit the decision. Confirmed valid addresses can be sent to normally, though you should still watch engagement, because existence and interest are different things.

Catch-all domains accept any address, real or invented, so the probe can't separate your subscriber from a typo. Send to these cautiously, in smaller batches, and watch bounces and opens closely. Our guide to handling catch-all email addresses covers how to segment them without discarding legitimate B2B contacts on privacy-protective systems.

Disposable addresses come from temporary inbox providers built for one-off signups. Known throwaway email providers are flagged, and the list of them is refreshed every day, because new ones appear constantly. Suppress them. They rarely represent a person you can reach next month.

Role-based addresses need a judgement call, not a rule. Shared inbox addresses such as info@ and support@ are spotted so you can decide whether they belong in a campaign. A product update for account administrators might fit. A personalised sales sequence almost certainly doesn't.

Unknown results, such as timeouts or blocked probes, go back for a retry first. If they stay unknown, either send cautiously with tight monitoring or ask the contact to confirm through another channel.

Actions for each address category

Category Typical Example Recommended Action
Confirmed invalid Nonexistent mailbox or domain Suppress
Confirmed valid Mailbox accepted, no risk flags Send normally and monitor engagement
Catch-all Domain accepts any address Send cautiously and watch bounces and opens
Disposable Temporary inbox provider Suppress
Role-based info@ or support@ Decide per campaign; skip one-to-one sends
Unknown Timeout or blocked probe Retry, then send cautiously or request confirmation

The question isn't only "Is this address valid?" It's "What should be done with an address whose validity cannot be proven?"

Startups, publishers, and B2B teams lose the most from binary thinking, because their best contacts often sit behind shared or guarded mail systems. A validation result sets a plan for sending. It isn't a verdict on the person behind the address, and it can't repair weak consent, poor targeting, authentication failures, or low engagement.

How to Run an Email List Validation Workflow

A workflow beats a cleanup because it stops bad data arriving, not just removes it later. The steps below run in order. Each one exists to prevent a specific failure that the others can't catch.

A four-step infographic illustrating the workflow for performing effective email list validation and sender security.

  1. Confirm you have a legitimate sender relationship. Verification requires a legitimate sender relationship, such as your own list, a customer list, or a list processed under a Data Processing Addendum. Do this before uploading anything. It protects the people on the list and keeps you from processing data you have no right to hold.

  2. Validate at the point of collection. Put a check on your signup and checkout forms so typos and fake addresses never enter the list. Catching gmial.com while the person is still on the page lets them fix it. Catching it six months later just gives you a bounce.

  3. Run a batch check on your existing list. Export what you have, validate it, and split the output into confirmed valid, confirmed invalid, catch-all, disposable, role-based, and unknown. Don't collapse those groups back into two. The split is the value.

  4. Suppress confirmed hard failures and repeated hard bounces. Remove malformed addresses, nonexistent domains, disposable or risky addresses, and recipients who keep bouncing. Every send to a known dead address is evidence against your sending practices, and mailbox providers keep score.

  5. Apply the uncertain-category actions. Send catch-all addresses cautiously in smaller batches. Decide role accounts per campaign. Retry unknowns before you judge them. This step is where you keep legitimate contacts that a binary cleanup would have thrown away.

  6. Recheck aged lists immediately before major campaigns. A segment you haven't mailed in a year isn't the segment you validated last year. Rechecking right before the send is what turns validation from a snapshot into a current statement about deliverability.

  7. Monitor complaints by campaign and mailbox provider. Gmail's sender guidance recommends keeping the user-reported spam rate below 0.1% and avoiding 0.3% or higher, and at or above 0.3%, delivery support or mitigation options may become unavailable. For 100,000 recipients, that's 100 complaints versus 300. Watching the rate per provider tells you which audience is objecting, not just that someone is.

What This Workflow Cannot Fix

Validation removes addresses that can't receive mail. It can't manufacture permission. If people didn't agree to hear from you, a technically perfect list will still draw complaints, and complaints are what providers weigh most heavily.

It also can't substitute for authentication. Gmail requires sender domains to use SPF or DKIM and requires valid forward and reverse DNS for sending infrastructure. Set those up separately, keep your content relevant to the people who asked for it, and treat validation as one layer in a wider sending discipline rather than the whole of it.

Practical rule: validate at collection, recheck before big sends, and let complaint rates tell you whether your targeting is as healthy as your data.

Choose a Validation Setup Before Your Next Send

Don't buy on speed or price first. Score every option against the same criteria, because the differences that matter show up in how results are labelled and explained, not in how fast a file uploads.

A list of four key features to consider when choosing an email list validation setup for marketing.

  • Covers all eight signals: syntax, DNS and domain, SMTP acceptance, catch-all behaviour, disposable providers, role accounts, historical bounce reputation, and a final recommendation, with a plain reason for each result.
  • Labels uncertainty separately: catch-all, role-based, and unknown results stay distinct instead of being forced into a valid or invalid flag you can't act on sensibly.
  • Catches bad data at signup: adding one line of code to a signup or checkout form catches fake or mistyped emails before they enter the list, which is cheaper than cleaning them out later.
  • Fits your sending stack: a clean list can be downloaded or pushed straight back into your email tool, and bad addresses are tagged so they stay out of your next send.
  • States how uploaded lists are handled: you should know how long your file is kept and what happens to it, before you hand over customer data.

The process itself should be short. Email list cleaning takes three steps. Drop your list in, watch it clean, then send to real people. If a provider makes that feel complicated, the complexity is probably theirs, not the task's.

CleanMyList is one option to test against this checklist. Confirm each criterion on its site before deciding, and give the same scrutiny to anything else you're considering. A tool that can't explain why it flagged an address is asking you to trust it blindly.

Then take one concrete step. Run one aged list, ideally a segment you haven't mailed in months, through validation before your next campaign. Send to the confirmed valid group, handle the uncertain groups separately, and compare the bounce rate with your previous send to that audience. That single before and after comparison will tell you more about your list health than any vendor claim.


CleanMyList checks every address across eight signals and gives you a plain reason for each result, so catch-all, disposable, role-based and unknown addresses stay separate instead of being forced into a yes or no. Drop in an aged list before your next campaign, suppress the confirmed failures, and send the uncertain groups cautiously rather than guessing. Visit CleanMyList to run that first list and compare the bounce rate against your last send.

Stop guessing. Start cleaning.

Try it free on 50 emails. No credit card, no sales call, no catch.