How to Check SPF, DKIM and DMARC in One Place
The fastest way to check SPF, DKIM and DMARC together is to look them up as a set — because they only stop spoofing when all three line up. SPF and DKIM prove a message is authorised; DMARC ties those results to your visible From: address and tells receivers what to do on failure. Check them in isolation and you can pass each one yet still be spoofable.
Why all three, together
- SPF authorises which servers may send for your domain (a DNS TXT record).
- DKIM cryptographically signs each message with a key published in DNS.
- DMARC requires that SPF or DKIM passes and aligns with the
From:domain, then applies your policy (none/quarantine/reject).
A common trap: SPF passes and DKIM passes, but neither aligns with the From domain, so DMARC still fails. You only catch that by evaluating them as a system — which is why Gmail, Yahoo and Microsoft all require the full stack from bulk senders (Google, Yahoo).
What a healthy setup looks like
- SPF: one
v=spf1record, under 10 DNS lookups (RFC 7208), ending in~allor-all. - DKIM: at least one live selector publishing a valid key (≥1024-bit; 2048 preferred).
- DMARC: a
v=DMARC1record,p=quarantineorp=reject, with arua=reporting address.
Check them in one pass
Rather than three separate lookups, our domain health check evaluates SPF (with recursive lookup counting), DKIM (auto-probing common selectors), DMARC (policy strength) and MX in a single report — plus SSL, blacklist, registration and DNS. If you want just the email trio, the individual SPF, DKIM and DMARC checkers share the same engine.
Fix them in the right order
- SPF first — publish and get under the 10-lookup limit.
- DKIM next — enable signing at your provider and confirm the selector resolves.
- DMARC last — start at
p=nonewith reporting, fix alignment using the reports, then tighten to quarantine and reject.
Doing DMARC before SPF and DKIM are solid is how legitimate mail ends up quarantined. Build the foundation, then enforce.
Sources
- Google — Email sender guidelines: https://support.google.com/a/answer/81126
- Yahoo — Sender Best Practices: https://senders.yahooinc.com/best-practices/
- RFC 7208 — SPF (10-lookup limit): https://datatracker.ietf.org/doc/html/rfc7208#section-4.6.4
- RFC 7489 — DMARC: https://datatracker.ietf.org/doc/html/rfc7489