Email Auth Checker (Free)

See every SPF, DKIM and DMARC problem on your domain in one command, with what to change.

Email Auth Checker (Free) cover

What it does

Check a domain's email authentication in one command: SPF, DKIM, DMARC, MX, MTA-STS and TLS-RPT, with plain-English problems and fixes. Built on the current standards, including DMARCbis (RFC 9989, May 2026).

python3 -m emailauth example.com
python3 -m emailauth example.com -s google -s s1        # DKIM selectors from s= in a DKIM-Signature header
python3 -m emailauth example.com example.org --json     # several domains, JSON for scripts; exit code 1 on high-severity problems

What you get

The screenshot is real output from the kit’s own commands. Tested from a fresh download of this exact zip: ./run_tests.sh ran 7 tests OK on Python 3.13 and 3.10.

Real terminal output from Email Auth Checker: demo and passing tests

What it checks

  • SPF (RFC 7208): one record only, syntax, +all / ?all, missing all, ptr, includes without an SPF record (permerror), include loops, the 10 DNS lookup limit counted through every include, void lookups, record length.
  • DMARC (RFC 9989, RFC 9990): one record, valid p / sp / np / adkim / aspf / t, p=none still delivers spoofed mail, missing rua reports, external report addresses that haven't authorised your domain (yourdomain._report._dmarc.vendor), and tags DMARCbis removed (pct, ri, rf).
  • DKIM: the selectors you give (or 20 common ones), v=DKIM1, revoked keys (empty p=), RSA key size (under 1024 bits fails; 2048 recommended), ed25519 keys, test mode.
  • MX, MTA-STS (RFC 8461), TLS-RPT (RFC 8460): null MX, the _mta-sts record id, the policy file at https://mta-sts.<domain>/.well-known/mta-sts.txt (version, mode, max_age, mx lines) and MX hosts the policy doesn't cover, and the _smtp._tls reporting record.

DNS goes over HTTPS (Cloudflare by default, --doh google), so it works anywhere Python does. ./demo.sh runs offline against examples/zone.json (one broken domain, one clean one); ./run_tests.sh runs the tests. Python 3.9+, no dependencies.

Honest limits

It reads public DNS; it can't see which servers really send your mail or whether messages pass. DKIM selectors can't be listed from DNS, so unknown selectors are only found when you pass them. SPF macros (%{...}) aren't expanded.

Format and license

Zip, 14 KB, v1.0, 11 files. Free to use, modify and share for any purpose, including commercial work, as long as this notice stays in copies. Not affiliated with or endorsed by any mailbox provider.

FAQ

Is it free?
Yes, free to use, change and share.
Does it need an account or API key?
No, it queries public DNS over HTTPS.
Can it find my DKIM selector?
It tries 20 common ones; pass yours with -s from the s= in a DKIM-Signature header.
How do I get the files?
Click Download free. The zip downloads straight away: no checkout, no account.
Do I have to sign up for the newsletter?
No. The form is optional and the download works without it.

Get Email Auth Checker (Free)

Free SPF, DKIM and DMARC checker: SPF 10-lookup limit, DMARC tags and report authorisation, DKIM key size, MTA-STS and TLS-RPT. No account.

Pairs well with

Download$19

Keyword Cannibalization Checker Skill

Find keyword cannibalization in Search Console data: pages splitting the same query, ranking flips, competing pairs, with merge-or-sharpen advice. $19.

View Keyword Cannibalization Checker Skill
Download$19

Content Decay Finder Skill

Find pages losing Google clicks and why: rankings, demand or click-through, with lost queries and a refresh plan. Reads Search Console exports. $19 once.

View Content Decay Finder Skill
DownloadFree

Open Graph Checker (Free)

Free Open Graph checker: missing og: tags, broken or wrong-size preview images, X card errors and canonical mismatches, for live URLs or a local build.

View Open Graph Checker (Free)

Related