← All articles
MailPoetHow-to

How to clean your MailPoet subscriber list (step by step)

Export your MailPoet subscribers, find the addresses that will bounce, and take them out without losing anyone real. Takes about 15 minutes for most lists.

By ListBouncer · November 12, 2026 · 4 min read

MailPoet makes it easy to grow a list from your WordPress site. A sign-up form on every page, a checkbox at WooCommerce checkout, and a few years later you've got thousands of subscribers. Some of them stopped working a long time ago.

Here's how to find those addresses and take them out, start to finish.

Why MailPoet lists go stale

Most of the rot comes from three places:

  • Sign-up forms. People type gmial.com, use a throwaway address to get a discount code, or enter something fake to get past a form.
  • WooCommerce checkout. If customers are added to a list when they buy, every typo at checkout lands on your list too.
  • Time. People leave jobs, close old inboxes and stop using addresses. A list nobody's emailed in a year will have dead addresses in it.

None of these look wrong in your subscriber table. You only find out when you send and they bounce.

Before you start: what MailPoet already does

MailPoet gives every subscriber a status: Subscribed, Unconfirmed, Unsubscribed, Inactive or Bounced.

If you send with the MailPoet Sending Service, addresses that hard bounce get marked Bounced for you, so they won't be emailed again. That's useful, but it only catches a bad address after you've sent to it. Cleaning first means the bounce never happens.

If you send through your web host or another SMTP service, check how bounces are handled there. They may not flow back into MailPoet's statuses at all.

1. Export your subscribers

  1. In your WordPress dashboard, go to MailPoet > Subscribers.
  2. Click Export at the top of the page.
  3. Pick the lists you want to clean. If you pick more than one, they're combined into one file.
  4. Keep email, first name and last name. That's all you need.
  5. Choose CSV and export.

Export everything you send to, not just the list for your next newsletter. Older lists are where the dead addresses hide.

2. Check a handful first (optional)

Not sure your list has a problem? Paste a few addresses you're unsure about into our free email checker. It checks up to 10 a day without an account, and it'll flag typos, throwaway domains and shared inboxes straight away.

If several of them come back bad, the rest of the list is worth a full clean.

3. Clean the whole file

Upload the CSV on ListBouncer. It finds the email and name columns on its own, checks every address against its mail server, and sorts them into five groups:

  • Safe: the mail server confirmed the mailbox exists. This is your clean list.
  • Major provider: Yahoo, Outlook, Hotmail and AOL. These providers don't allow mailbox-level checks, but mail to them usually delivers. They get their own download.
  • Risky: a catch-all domain or a shared inbox like info@. It might deliver, but nobody can confirm a person reads it. Your call.
  • Will bounce: the mailbox doesn't exist, the domain can't take email, or it's a throwaway address. Remove it.
  • Unknown: the server didn't give a clear answer. Leave it out for now.

Every address comes with the reason it landed where it did, so you can see why something was flagged before you remove it.

New accounts get 100 free credits, and duplicates and broken rows aren't charged.

4. Import Major provider as its own list

Your clean list only has confirmed addresses. Download the Major provider file too and import it into MailPoet as a separate list, something like "Yahoo and Outlook". Send your newsletter to both lists.

If you ever see bounces, check which list they came from. It'll almost always be the one nobody could confirm, and you'll know your clean list is doing its job.

5. Take the bad addresses out of MailPoet

This is the step people skip. Don't delete subscribers one by one. Do it in one import:

  1. Download the Will bounce file from your report.
  2. In MailPoet, go to Subscribers and click Import.
  3. Upload the file.
  4. At the bottom of the import screen, set the status to Unsubscribed.
  5. Finish the import.

MailPoet updates the existing subscribers rather than creating new ones. Check that status before you click import, because MailPoet marks imported subscribers as subscribed unless you change it.

Doing it this way also means those addresses can't be re-added and emailed by accident later.

6. Decide on the Risky group

There's no single right answer here. A rough guide:

  • Recent sign-ups on a catch-all domain: usually fine to keep.
  • Old catch-all addresses you haven't emailed in a year: I'd leave them out.
  • Shared inboxes like info@ or sales@: keep them if they're customers who bought from you. Drop them if they came from a form with no purchase behind them.

If you're about to send from a domain you can't afford to damage, be strict and leave the whole group out.

7. Keep it clean going forward

  • Turn on inactive subscribers. In MailPoet's settings you can stop sending to people who haven't opened anything for a set number of months. It's the easiest way to stop a list from rotting again.
  • Use double opt-in on your forms. A fake address can't confirm a sign-up, so it never becomes Subscribed.
  • Clean before big sends. Before a sale, a relaunch or the first send in months, run the list through again.

How accurate is this?

We tested ListBouncer on a list where we already knew the answer for every address: real inboxes we own, plus fake, dead, typo and throwaway addresses we made up and sent real mail to. Every checkable address came back right. You can see the full breakdown on our accuracy page.

Put it into practice

Clean your list before the next send.

100 free addresses, no card required. Upload a CSV and see what comes back.

Try ListBouncer free