DKIM vs DMARC: Understanding the Difference
Compare DKIM and DMARC email authentication protocols. Learn how DKIM signs messages while DMARC enforces policy, and why you need both for complete email security.
Last updated: 2026-02-06
DKIM and DMARC are both email authentication protocols, but they serve fundamentally different roles. DKIM is a signing mechanism that proves a message is genuine. DMARC is a policy layer that tells receivers what to do when authentication fails. Understanding the difference is essential for setting up email security correctly.
Short answer: DKIM verifies that an email was sent by your domain and wasn't modified. DMARC uses DKIM (and SPF) results to enforce a policy and send you reports. You need both.
Quick Comparison
| Aspect | DKIM | DMARC |
|---|---|---|
| Purpose | Signs emails with a cryptographic signature | Enforces policy based on authentication results |
| What it checks | Message integrity and sender domain | SPF/DKIM results plus domain alignment |
| Can work alone | Yes — provides value independently | No — requires SPF and/or DKIM |
| DNS record type | TXT at selector._domainkey | TXT at _dmarc.domain |
| Provides reporting | No | Yes — aggregate and forensic reports |
| Policy enforcement | No — just pass or fail | Yes — none, quarantine, or reject |
| Survives forwarding | Usually yes | Depends on DKIM/SPF alignment |
How DKIM Works
DKIM (DomainKeys Identified Mail) adds a digital signature to every outgoing email. The sending server signs specific headers and the message body using a private key. The receiving server verifies the signature using the public key published in DNS.
DKIM DNS record example:
selector._domainkey.example.com TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."
DKIM-Signature header example:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=selector;
h=from:to:subject:date; bh=...; b=...
When a receiving server processes an email with a DKIM signature:
- It extracts the
d=(domain) ands=(selector) from the signature - It looks up the public key at
selector._domainkey.domain.com - It verifies the cryptographic signature against the message
- If valid, DKIM passes. If the message was modified, DKIM fails.
DKIM tells you: "This message really came from this domain, and it hasn't been tampered with."
How DMARC Works
DMARC (Domain-based Message Authentication, Reporting & Conformance) is a policy layer built on top of DKIM and SPF. It doesn't authenticate email directly. Instead, it checks the results of SPF and DKIM, verifies alignment, and applies a policy.
DMARC DNS record example:
_dmarc.example.com TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com"
When a receiving server processes an email with DMARC:
- It checks if SPF passes and the envelope domain aligns with the From header
- It checks if DKIM passes and the
d=domain aligns with the From header - If at least one passes with alignment, DMARC passes
- If both fail alignment, DMARC applies the domain's policy (none, quarantine, or reject)
- It sends aggregate reports back to the domain owner
DMARC tells you: "Here's what to do when authentication fails, and here's a report on what's happening."
Set up DKIM for your domain
Generate DKIM key pairs to get the signing layer in place before deploying DMARC.
The Key Difference: Signing vs Policy
Think of it this way:
- DKIM is the lock on the envelope. It proves the message is authentic and hasn't been opened or changed.
- DMARC is the policy that tells the mailroom what to do with envelopes that have broken locks (or no locks at all).
DKIM operates at the message level. It signs individual emails. DMARC operates at the domain level. It sets rules for how all email from your domain should be treated.
DKIM Can Exist Without DMARC
You can deploy DKIM without DMARC. Many organizations do this as a first step. When DKIM is configured but DMARC is not:
- Emails are signed and receivers can verify them
- Receiving servers may give DKIM-signed emails a slight deliverability boost
- There is no policy telling receivers what to do when DKIM fails
- You get no reports on authentication failures
This is useful but incomplete. Without DMARC, a receiver that encounters a failed DKIM check has no instructions from you about how to handle it.
DMARC Cannot Exist Without DKIM or SPF
DMARC depends on at least one of SPF or DKIM to function. Without either:
- DMARC has no authentication results to evaluate
- Every email would fail DMARC
- Your policy would reject or quarantine all your own email
In practice, you should have both SPF and DKIM in place before deploying DMARC. This gives DMARC two signals to work with, providing resilience when one fails.
Never deploy a DMARC policy of p=quarantine or p=reject without first confirming that your legitimate email passes SPF and/or DKIM with proper alignment. Start with p=none to monitor.
Alignment: Where DMARC Adds Value
DKIM by itself has a gap: the d= domain in the signature doesn't have to match the From header domain. An attacker could sign email with their own DKIM key while spoofing your From address.
DMARC closes this gap with alignment. For DMARC to pass via DKIM:
- The DKIM signature must be valid (pass)
- The
d=domain in the DKIM signature must match (or be a subdomain of) the From header domain
This alignment check is what makes DMARC effective against spoofing that DKIM alone cannot prevent.
Reporting: DMARC's Unique Feature
DMARC provides something neither DKIM nor SPF offers: reporting.
| Report Type | What It Contains |
|---|---|
| Aggregate (rua) | Daily summaries of authentication results from receivers |
| Forensic (ruf) | Individual failure reports with message details |
These reports tell you:
- Which IPs are sending email using your domain
- Whether those emails pass or fail SPF and DKIM
- How many emails are being rejected by your policy
- Whether legitimate services are misconfigured
Without DMARC, you're flying blind. You have no visibility into how your domain is being used (or abused) across the internet.
Implementation Order
Set up SPF
Create an SPF record listing your authorized sending servers. This is the quickest authentication method to deploy.
Set up DKIM
Generate DKIM keys and configure your mail server or email service to sign outgoing messages. Publish the public key in DNS.
Deploy DMARC in monitoring mode
Add a DMARC record with p=none. This collects reports without affecting delivery, letting you identify issues.
Review reports and fix issues
Analyze DMARC aggregate reports. Fix any legitimate services that fail alignment. This may take weeks.
Enforce DMARC policy
Once all legitimate email passes authentication, move to p=quarantine, then p=reject.
Side-by-Side: What Each Protects Against
| Threat | DKIM | DMARC |
|---|---|---|
| Message modification in transit | Detects it (signature fails) | Enforces policy on failure |
| Direct domain spoofing | Partial (no alignment check) | Full protection with alignment |
| Unauthorized sending servers | No | Relies on SPF for this |
| Display name spoofing | No | No |
| Look-alike domains | No | No |
| Lack of visibility | No reporting | Aggregate and forensic reports |
Common Misconceptions
"DKIM and DMARC do the same thing" No. DKIM signs messages. DMARC enforces policy on authentication results. They complement each other but serve different functions.
"I only need DMARC" No. DMARC is useless without SPF and/or DKIM. It's a policy layer that depends on authentication mechanisms to evaluate.
"DKIM is enough for email security" Partially. DKIM proves message integrity, but without DMARC you have no policy enforcement, no alignment requirement, and no reporting.
"DMARC replaces DKIM" No. DMARC builds on DKIM. It doesn't replace it. DMARC needs DKIM results to make decisions about email handling.
Why You Need Both
The complete picture
DKIM provides the cryptographic proof. DMARC provides the policy and visibility. Together they give you authentication, enforcement, and reporting — the three pillars of email domain security.
- DKIM alone: Emails are signed, but no enforcement and no reports
- DMARC alone: Cannot function without SPF or DKIM
- DKIM + SPF + DMARC: Full authentication with enforcement and visibility
The strongest email authentication posture uses all three: SPF validates the sending server, DKIM validates the message, and DMARC ties them together with alignment checks, policy enforcement, and reporting.
Related Articles
Start with DKIM, then build up to DMARC. DKIM Creator helps you get the signing layer right.
Generate DKIM keys for your domain
Create the cryptographic foundation for your email authentication. Free, secure, and instant.
Generate DKIM Keys