- © 2026 Mailsoftly Inc. The name "Mailsoftly" and the Mailsoftly logo are registered trademarks of Mailsoftly Inc.
by Anastasiia Kosianchuk · Last updated: 2026-09-28Leave a bird feeder outside for a few rainy days and… something interesting happens.
From the kitchen window, it can still look full. Get closer, though, and you’ll find empty husks, damp clumps, bits the birds have ignored and food that probably shouldn’t stay there much longer.
Email lists can be surprisingly similar.
A database might show 40,000 contacts, but that doesn’t mean you have 40,000 people you should email. Some addresses no longer exist, while others belong to people who unsubscribed months ago. Then, some are technically valid but haven’t engaged with anything you’ve sent in a year. A few will sit somewhere in the frustrating middle: not clearly bad, but not reliable enough to treat like your best contacts.
New to list building? Start with our guide to what an email list is, then come back to this one.
Before a campaign, clean your list in layers.
Quick context: Mailsoftly connects to Bouncer with a limited API key. Verify any contact list, then tag, remove or suppress the results in Mailsoftly before your next campaign goes out. Start free, no credit card.
Start sending to a cleaner list →
Key Takeaways
The easiest way to keep those decisions straight is to ask five different questions:
Mix them together and list cleaning gets messy. Keep them separate and deciding what to do with invalid, risky and inactive contacts becomes much easier.
It’s tempting to export the CRM, upload everything to an email verification service and start cleaning from there.
That isn’t always the best first step.
Your own systems already contain information an email verifier doesn’t need to rediscover. If somebody has unsubscribed, for example, finding out that their mailbox is technically deliverable doesn’t make them eligible for your next marketing campaign.
The same applies to known spam complaints and contacts already sitting on an internal suppression list. Previous hard bounces should also be reviewed before you spend time checking the rest of the database.
This is often also a good moment to deal with duplicates. They often creep in after CRM imports, event uploads, form integrations or years of different teams creating records in slightly different ways. Our email list management best practices cover how to keep them from coming back.
Don’t pay to verify an address you already know you won’t email.
That’s why we’d rather call the first stage “campaign eligibility”.
Once you’ve removed the obvious no-send records, you have a much more useful list to work with.
Email verification answers a narrower question than many marketers expect: how confident can we be that an email address can receive mail?
A proper verification process can examine the structure of an address, its domain and mail records, then query the receiving mail infrastructure without sending an actual campaign email.
Tools such as Bouncer’s email verification service then return more than a simple yes or no.
Bouncer, for example, groups results into four main statuses: deliverable, risky, undeliverable and unknown.

It can also provide additional signals such as whether an address belongs to a catch-all domain, uses a disposable provider or has a full mailbox.
Those details are really important because email addresses don’t divide neatly into two piles called “good” and “bad.” Verification also has limits.
It doesn’t tell you whether somebody gave permission to receive a particular campaign. Also, it doesn’t know whether the contact is still interested in your product. It doesn’t turn an old, disengaged subscriber into an active one. And it can’t guarantee that a message will reach the inbox rather than a spam folder.
Think of verification as one layer in the decision… not the decision itself.
The safest response depends on what the verifier actually found.
| Result or signal | What it tells you | What to consider before a campaign |
|---|---|---|
| Deliverable | The mailbox appears able to receive email | Keep it if the contact is also eligible and relevant to the campaign |
| Undeliverable | The address can’t reliably receive mail | Suppress it from the send |
| Risky | The address may work, but one or more signals reduce confidence | Look at the reason instead of automatically keeping or deleting it |
| Unknown | The mail server didn’t provide a conclusive answer | Hold, retry or treat cautiously based on the campaign |
| Catch-all | The domain accepts mail without confirming every individual mailbox | Use additional context, especially for B2B contacts |
| Disposable | The address comes from a temporary email service | Decide whether temporary addresses make sense for your use case |
| Full mailbox | The mailbox may exist but currently has a delivery problem | Consider holding or checking the contact again later |
Undeliverable contacts are the simple part. The interesting decisions start with everything between clearly deliverable and clearly undeliverable.
No.
“Risky” is a warning to make a decision, not another word for “invalid.”
Imagine you’re preparing a campaign for 3,000 B2B leads and several hundred addresses belong to catch-all corporate domains. A catch-all mail server may accept verification attempts for addresses at that domain without confirming that each individual mailbox exists.
Deleting every one of those contacts could throw away legitimate prospects. Treating all of them exactly like your most reliable addresses creates a different kind of risk.
Context is more important than you think here.
Where did the address come from? Has the contact replied to you before? Did they fill in a form themselves? Is the domain connected to an active customer account? Is this an older prospecting database acquired through several imports?
The same principle applies to other risky results.
A full mailbox isn’t the same problem as a disposable address. A catch-all address with recent engagement isn’t the same as a catch-all address from a three-year-old spreadsheet nobody remembers importing.
Look at the underlying reason rather than collapsing every uncertain result into one bucket. For example, you might allow recently engaged catch-all contacts into a normal campaign, isolate older catch-all records into a smaller segment and suppress disposable addresses from campaigns where temporary signups have little value.
The exact rule can vary, but the crucial part is knowing why the rule exists.
Inactive contacts are where list cleaning often gets confused with list verification.
An inactive contact can have a perfectly valid mailbox.
They may simply have stopped opening, clicking or replying to your messages. Perhaps they changed roles. Maybe they still read some emails without generating an engagement signal you can see. Or, they signed up for one thing and have no interest in everything else you send.
Whatever the reason, verification alone can’t solve the problem.
This is a should we send? question rather than a can we send? question.
Instead of deleting every subscriber who crosses an arbitrary inactivity threshold, look at the relationship you actually have with them.
Someone who bought from you recently but hasn’t clicked a newsletter in months is different from a lead who downloaded one ebook two years ago and has ignored every message since.
Likewise, an inactive contact whose address now also returns a risky verification result deserves more caution than a recently engaged customer using the same type of mailbox.
A sensible segmentation model might separate contacts into recent engagement, declining engagement, long-term inactivity and contacts that have never meaningfully engaged.
From there, you can decide who belongs in the main campaign, who should enter a re-engagement sequence and who should be removed from regular sends.
The important distinction is this:
Invalid contacts create an address-quality problem. Inactive contacts create an audience-quality problem.
They overlap sometimes, but they aren’t the same thing.
The process becomes easier when you stop treating “list cleaning” as one giant action.
Instead, build your sequence using these steps:
Notice how far down the sequence the actual campaign segment appears.
That’s intentional.
Your CRM acts as a database, but your campaign audience is a decision. The two shouldn’t automatically be the same thing.
Running steps 3 and 4 inside Mailsoftly? The Mailsoftly and Bouncer integration verifies any contact list and sends each result back as a tag, a removal or a suppression, with no CSV exports.
You don’t need to invent a ritual where every contact gets reverified on the first Monday of every month.
It makes way more sense to connect verification to moments when so-called “uncertainty” increases.
An old list coming back into use is an obvious example. So is a large CRM import, a database merged after an acquisition, an event list that has been sitting untouched or a campaign targeting contacts you haven’t emailed for a long time.
Unexpected delivery problems can also be a reason to inspect list quality again.
You can go further and verify closer to the point of entry. Checking an address when someone submits a form or enters a workflow can stop obviously bad records from accumulating in the first place.
This changes how you should think about list hygiene: not as a one-off cleanup action, but as an ongoing process.
That’s usually easier than waiting until the morning before a major campaign and discovering that nobody quite knows what’s inside a 70,000-contact export.
Old lists deserve more scrutiny than fresh, consistently managed ones.
Start with provenance.
Do you know where the contacts came from? When were they last mailed? Were unsubscribes consistently synchronized between the systems that stored them? Has the company changed email platforms or CRMs since the list was active?
If nobody in your team can answer those questions confidently, verification is only one part of the investigation.
An address can still exist while the context around it has become useless.
Suppose an address verifies successfully but the contact entered the database four years ago, hasn’t engaged since and you can’t establish why they were subscribed to the campaign you’re planning now.
Technically deliverable doesn’t answer the bigger question.
This is also why an old list shouldn’t automatically be “reactivated” with one enormous send. Cleaning the technical failures is useful, but engagement and eligibility still need their own review.
When uncertainty stacks up, a smaller and better-understood audience is often more useful than preserving every possible record.
There isn’t one ideal percentage of contacts you should keep.
In fact, trying to maximize the number that survives the cleanup is the wrong objective.
Your goal is to create an audience where you can explain why each category of contact is there.
A final list should have passed three tests:
That framework also makes future decisions easier.
When somebody asks why 6,000 records from the CRM aren’t included in the campaign, you don’t need to answer, “The cleaning tool removed them.”
You can say 2,000 were suppressed before verification, 1,500 were undeliverable, 700 required more cautious handling and the remaining contacts were excluded because they no longer matched the campaign audience.
That’s a list you understand.
For the bigger picture on growing and looking after your audience, see our complete email list building and management guide.
No. Risky doesn’t necessarily mean the mailbox is invalid. Look at the reason behind the result and combine it with the source, engagement history and purpose of the campaign before deciding what to keep.
Yes, absolutely. A mailbox can still receive email even if the person behind it hasn’t engaged with your campaigns for months. Verification measures address quality, while inactivity comes from your own engagement data.
You generally don’t need to verify them for a marketing campaign you’re preparing because they’re already excluded from that send. A technically valid mailbox doesn’t override an unsubscribe or other suppression rule.
No. Verification helps you identify address-related problems before sending, but inbox placement depends on a wider set of factors, including your sending practices, authentication, reputation and recipient behavior. Our guide to email deliverability covers the rest.
Verify when the quality of the addresses is uncertain. Common triggers include older databases, large imports, long gaps between campaigns and lists assembled from several different systems.
Send your next campaign to a list you understandTry Mailsoftly free →
500 contacts, 2,000 emails per month with your Gmail, Outlook, Google Workspace or Microsoft 365 account. Free hands-on migration. No credit card. The Starter plan is $15 a month (billed yearly) for 1,000 contacts and 10,000 emails, and lets you send from your own domain.

Ready to boost your email marketing?
Send beautiful, targeted emails that convert. Free plan available, paid plans from $15 a month.
Try Mailsoftly FreeNo credit card required