SPF, DKIM and DMARC in one minute
| Record | Where | What it proves |
|---|---|---|
| SPF | example.com TXT "v=spf1 …" | Which servers may send mail for the domain |
| DKIM | selector._domainkey.example.com | The message was signed by the domain and not changed on the way |
| DMARC | _dmarc.example.com | What to do when SPF and DKIM do not match the From address, and where to send reports |
A safe way to roll out DMARC
- Publish
v=DMARC1; p=none; rua=mailto:dmarc@example.comand wait two to four weeks for reports. - Use the reports to find every service that sends as your domain (newsletters, invoicing, help desk) and give each SPF and DKIM.
- Move to
p=quarantine, then top=rejectonce nothing legitimate fails.
Common problems this tool catches
- Two SPF or two DMARC records: receivers treat it as an error and ignore both.
- +all in SPF, which lets any server pass.
- More than 10 SPF lookups after adding many services.
- p=none left in place for months, which reports spoofing but does not stop it.
To see where an email really came from and whether it passed these checks, paste its headers into the email header analyzer.