uCheckeruChecker
Mark AvrilovPublished updated 9 min read

Email list hygiene: a checklist for cleaning and preparing your list

List hygiene means regularly removing addresses that will not receive your mail or will hurt you as a sender. Lists decay on their own: people change jobs, abandon mailboxes, mistype at signup. Leave a list alone and bounces and complaints climb, and your domain reputation pays for it.


What to remove from your list

Preparing a list for the first send

  1. Remove duplicates. Trim whitespace and compare addresses without regard to case. RFC 5321 formally treats the mailbox name as case-sensitive but discourages relying on that, and the domain is case-insensitive. For personal gmail.com accounts dots in the name do not matter, so ivan.petrov@gmail.com and ivanpetrov@gmail.com are the same mailbox. Do not apply that rule to Google Workspace or any other domain.
  2. Drop obvious syntax junk. No @, a doubled @, no top-level domain, spaces or invisible characters inside.
  3. Run the list through a validator. It checks the domain and MX, asks the mail server whether the mailbox exists, and flags catch-all, disposable and role addresses. uChecker sorts results into three groups (valid, invalid, unknown) and gives a reason for each rejection. Delete the invalid ones and keep unknowns out of the first send.
  4. Segment the list by source, signup date and engagement, and start with the freshest, most active addresses.
  5. Check the domain. SPF, DKIM and DMARC must be in place before the first send; the domain health check shows what is missing.
  6. Grow volume gradually. A new domain or IP needs a warm-up, and Google warns that even abruptly doubling your previous volume can trigger rate limiting.

Cleaning a list after a long pause

If you have not sent in six months or more, do not just upload the list and hit send. Some mailboxes are gone, some may have become traps, and people have forgotten they subscribed. Mail addresses you have not used lately only as a small portion of your overall sending.

  1. Back up the list and export engagement history from before the pause, if your platform kept it.
  2. Remove junk and duplicates as in the first-send preparation.
  3. Validate the whole list before the first send. Your sending platform only learns about dead addresses from bounces, after the damage is done.
  4. Check the domain and blocklists. Mailbox provider rules have changed: Gmail has required DMARC from senders of over 5,000 messages a day since 2024, and since May 5, 2025 Outlook.com has rejected such senders' mail without SPF, DKIM and DMARC with the code 550 5.7.515. Check the domain with the blocklist checker.
  5. Open with a re-engagement email. Remind people who you are and why you are writing, add a "keep me subscribed" button and a visible unsubscribe link. It is worth asking inactive subscribers the same question every so often. Amazon SES warns such campaigns are risky in themselves, so send them first to people who were active before the pause, in small batches.
  6. Remove those who did not respond after the re-engagement email and a few regular sends. More in the guide to reactivating inactive subscribers.

How often to clean

There is no single interval; it depends on how often you send and where addresses come from. A reliable rule is event-based. Bounces and complaints get handled after every send. Any import, whether a partner list or a CRM migration, is checked in full before the first send. A list is rechecked before a big campaign that follows a pause. And new addresses are best caught in the signup form and confirmed with double opt-in.

Most of this can be automated: bounce removal through your platform's webhooks, validation on import through an API. See automating list hygiene with an API and how fast email lists decay.

Checklist

To see whether the cleanup worked, watch bounces and complaints. Amazon SES recommends a bounce rate below 2%, and Google advises keeping complaints below 0.1%.

Sources

Find out how many dead and risky addresses your list holds in a few minutes. Upload your list to uChecker. The first 100 addresses are free.

list hygienelist cleaninglist preparationemail validationre-engagement

Mark Avrilov · Author

Published Updated