321 stars · Apache-2.0 · 6.0.1 (2026-09-04) · Track this in Scout
Checks a domain's SPF, DKIM, DMARC and MTA-STS records in seconds — whether the newsletter you have not built yet is even allowed to arrive.
▶Repo detailsthe review · specs · pros & cons
What it is
A small Python command-line tool and library that reads a domain's DNS records — SPF, DKIM, DMARC, MTA-STS, plus the mail servers themselves — and reports, in plain language, what is missing or broken. You give it a domain name; it gives you a report you can act on.
What it is good for. Listmonk has been this radar's email recommendation since Edition 2, and Edition 2 was explicit that Listmonk does not send mail — it needs SES or Postmark plus correct SPF, DKIM and DMARC records. Almost nobody sets those up correctly the first time, and the failure mode is silent: the campaign sends, the dashboard says 100% delivered, and a large share of it lands in spam where nobody sees it. Gmail and Yahoo now reject bulk mail outright from domains with no DMARC record, so this is not a nicety. Ten minutes with this tool, before the first newsletter goes out, is the difference between building an audience and building a list of addresses that never hear from you.
- Runs in seconds against a domain you do not control, so you can check your own and then check three competitors' to see what good looks like.
- Output is JSON as well as text, so a nightly Procrastinate job can shout at you if a record ever changes or expires.
- Explains what each failure means rather than just printing a red cross — genuinely readable if you have never touched a DNS record.
- It diagnoses; it does not fix. The actual repair is editing DNS records at your registrar, which is fiddly, slow to propagate, and easy to get subtly wrong.
- Correct records are necessary but not sufficient — reputation, list hygiene and content still decide whether you reach the inbox.
- 317 stars and effectively one maintainer. It is a tool to run occasionally, not a dependency to build a product on.
