SPF vs DKIM vs DMARC — what’s the difference?

Short answer

SPF lists which servers may send mail for your domain. DKIM adds a cryptographic signature that proves a message wasn’t forged or altered. DMARC ties SPF and DKIM to the visible From address, tells receivers what to do when they fail, and sends you reports. You need all three: SPF and DKIM authenticate, DMARC enforces.

SPF — who is allowed to send

SPF is a DNS list of authorized sending servers. The receiver checks whether the server that delivered the message is on the list. Its weakness: it validates the hidden envelope sender, not the From address a human sees, and it breaks when mail is forwarded.

DKIM — proof the message is genuine

DKIM signs each message with a private key; the receiver verifies it with the public key in your DNS. It proves the message really came from your domain and wasn’t modified — and, unlike SPF, it survives forwarding.

DMARC — the policy and the alignment

DMARC requires that SPF or DKIM not only pass but align with the From domain, then applies your policy (none, quarantine, reject) and emails you reports. It is the only one of the three that actually stops someone spoofing your exact domain.

Check your Domain record now

Open the free Domain checker →

Frequently asked questions

Do I need all three?

Yes. SPF and DKIM each authenticate part of the picture; DMARC ties them to your From domain and enforces a policy. The Google/Yahoo 2024 rules require DMARC for bulk senders.

Which matters most for DMARC to pass?

DKIM, because it aligns to your domain and survives forwarding. SPF alignment often breaks in real-world routing.

See RFC 7208 (SPF), RFC 6376 (DKIM), RFC 7489 (DMARC).

Reviewed by the Skysnag Security Team. Last updated .