If you've ever sent a campaign and watched your bounce rate spike, you already know the fix isn't a better subject line — it's a dirty list. B2B email data decays roughly 2% a month. A list you bought or scraped six months ago is already a different list today, and most inbox providers start treating a domain with a sustained bounce rate above 2% as a spam signal — not just for that campaign, but for everything you send from that domain afterward.

The fix is to verify the list before you send, not after the bounce report tells you what you already paid for.

This post walks through mailvalid-bulk-verify — a free, open-source Python CLI that takes a CSV of emails and gives you back the same file annotated with valid / invalid / catch_all / disposable for every row. No dashboard upload, no subscription, no code to write beyond one command.

What it actually checks

Each address gets run through: