List hygiene
The layer-1 email list cleaner and the verification strategy.
Repo: Backpack-Ops/list-hygiene. A dependency-light Python tool that cleans email lists without sending or probing: syntax, domain existence (one threaded DNS lookup per unique domain), disposable domains, role accounts, typo repair for major providers, and dedup. Outputs clean.csv, risky.csv, invalid.csv, summary.txt, preserving original columns.
python3 hygiene.py list.csv --column email --out ./out
Where it sits
In front of Listmonk, never inside it (Listmonk stays unforked upstream). The pipeline per client: hygiene clean, then import the clean set into the client’s Listmonk instance via its REST API, then SES bounce/complaint webhooks keep the list clean continuously for free.
Verification strategy (ADR 09 companion)
- Layer 1 (this tool): free, removes 30 to 50 percent of a dirty list.
- Layer 2 (SMTP mailbox probing): buildable with open source (Reacher, Truemail) but requires a pool of throttled IPs or providers block the prober. Do not run probes from the mail server’s IP.
- Layer 3 (catch-all domains): unverifiable by anyone, vendors included.
- Paid vendors are worth at most one negotiated bulk cleanse of a very large old list. Everything ongoing is self-hosted.