Difference Between SPF, DKIM, and DMARC: 2026 Simple Guide

Advertiser Disclosure

This guide may contain affiliate links to software we recommend. Our recommendations are based on verified review-platform data and official vendor documentation, not affiliate relationships. If you purchase through our links, we may earn a commission at no extra cost to you.

Shamim Sarker, Founder and Chief Senior Software Analyst at SoftwareAdvisorHub

Written by Shamim Sarker

Founder & Chief Senior Software Analyst | 8+ Years Reviewing Email Marketing & Deliverability Software | Expert Reviewed

Quick Answer: The difference between SPF, DKIM, and DMARC is what each one checks. SPF lists the servers allowed to send email for your domain, DKIM adds a cryptographic signature that proves the message wasn’t altered, and DMARC confirms that SPF or DKIM matches the visible From address and tells inboxes to monitor, quarantine, or reject failures. Most businesses need all three.
Expert Summary

  • SPF is one DNS TXT record at your root domain that lists approved sending servers. You can publish only one per domain, and it can trigger no more than 10 DNS lookups.
  • DKIM signs each message with a private key. Receivers verify it with the public key published at selector._domainkey.yourdomain.com, and the signature usually survives forwarding.
  • DMARC passes when SPF or DKIM passes and aligns with the visible From domain. You only need one aligned pass, not both.
  • Gmail and Yahoo have required authentication from bulk senders since February 2024. Outlook.com followed on May 5, 2025, for senders of more than 5,000 messages a day.
  • Publishing the DNS records costs nothing. Monitoring tools start at $0 for Valimail Monitor (per Valimail) and $8/mo for PowerDMARC Basic (per TrustRadius).

You hit send on an invoice or a password reset, and it lands in spam. Or worse, a customer forwards you a “payment update” email that looks exactly like yours but didn’t come from you.

Both problems trace back to the same three DNS records. Understanding the difference between SPF, DKIM, and DMARC is how you prove your email is really yours and stop strangers from sending as your domain.

This isn’t optional anymore. Gmail and Yahoo began requiring email authentication for bulk senders in February 2024,[1][2] and Microsoft’s Outlook.com followed in May 2025.[7] If you send more than 5,000 messages a day without all three protocols, your mail risks the Junk folder or outright rejection.

Below, you’ll see what each protocol checks, how they work together, and the exact setup order that won’t break your existing email. You’ll also get an honest comparison of three DMARC monitoring tools, with every rating and price labeled by its source.

Quick Verdict
Bottom line: Yes, you need all three. SPF and DKIM prove your mail is legitimate, and DMARC enforces that proof and reports who’s sending as your domain.
Best for:
Any Business Domain
Invoices & Receipts
Newsletters
Best For Any business that sends email from its own domain, from invoices to newsletters
DNS Record Cost Free to publish
Monitoring Tools From $0 (Valimail Monitor, per Valimail) to custom enterprise quotes
Where to Start EasyDMARC, based on G2 and Capterra review data, not hands-on testing


Try EasyDMARC Free →

What Are SPF, DKIM, and DMARC?

All three are email authentication protocols that live as text records in your domain’s DNS. Each one answers a different question about an incoming message.

SPF (Sender Policy Framework) is a DNS TXT record that lists every server and service allowed to send email for your domain. When a message arrives, the receiving server checks the sending server’s IP address against that list. It works like a company’s list of authorized couriers: a package delivered by anyone else gets flagged.

DKIM (DomainKeys Identified Mail) adds a digital signature to every outgoing message using public-key cryptography. Your mail server signs each email with a private key, and receivers verify the signature with the public key published in your DNS. Think of it as a tamper-evident seal: if anyone changes the signed content in transit, the seal breaks.

DMARC (Domain-based Message Authentication, Reporting, and Conformance) sits on top of SPF and DKIM. It confirms that at least one of them passes and matches the domain in the visible From address, then tells receivers what to do with failures: monitor, quarantine, or reject. It also sends you reports showing who’s sending email under your name.

SPF vs DKIM vs DMARC: What’s the Difference?

The simplest way to see the difference between SPF, DKIM, and DMARC is to ask what each one checks and what it can do when a check fails. The table below lines them up side by side.

Feature SPF DKIM DMARC
What it checks Is the sending server authorized? Is the message signed and unaltered? Does SPF or DKIM pass and match the From domain?
Domain it checks Return-Path (envelope sender) The d= domain in the signature The visible From address
DNS record location TXT at example.com TXT or CNAME at selector._domainkey.example.com TXT at _dmarc.example.com
Protects message content ✘ No ✔ Yes Only through DKIM
Sets a failure policy Limited (soft or hard fail hint) ✘ No Yes: none, quarantine, or reject
Sends you reports ✘ No ✘ No Yes (aggregate RUA reports)
Survives forwarding Usually breaks Usually survives Passes if DKIM survives and aligns

The biggest difference is the domain each protocol looks at. SPF checks the Return-Path, a hidden envelope address, and DKIM checks the domain in its signature’s d= tag. Neither one looks at the From address your recipient actually sees.

That gap is what spoofers exploit, and it’s why DMARC exists. DMARC requires the visible From domain to match, or align with, a domain that passed SPF or DKIM. Without it, a scammer can pass SPF using their own domain while displaying yours.

The other key difference is enforcement. SPF can only hint at a soft or hard fail, and DKIM has no policy at all, so receivers decide for themselves. DMARC is the only one of the three that tells inboxes exactly what to do and reports back to you.

How Each Protocol Works

Definitions only go so far. This section walks through what happens behind the scenes when a mailbox provider checks each record, plus a working example you can adapt.

How Does SPF Work?

When your email arrives, the receiving server reads the Return-Path domain and looks up that domain’s SPF record. It then checks whether the IP address that delivered the message appears in the record, either directly or through an include.

A typical record for a business using Google Workspace plus a transactional email service looks like this:

v=spf1 include:_spf.google.com include:sendgrid.net ~all

v=spf1 marks the version, and each include authorizes one provider’s servers. The closing ~all tells receivers to treat every other source as a soft fail, while a stricter -all signals a hard fail.

💡

Expert Tip

Two rules trip up almost everyone. You can publish only one SPF record per domain, and a single record can trigger no more than 10 DNS lookups, with nested includes counting toward the total. Break either rule and SPF returns a permanent error, which counts as a failure.

How Does DKIM Work?

Before a message leaves, your mail server hashes the body and selected headers, then encrypts that hash with a private key. The result goes into a DKIM-Signature header that names your domain (d=) and a DKIM selector (s=).

The receiver uses those two values to find your public key in DNS:

Host:  google._domainkey.example.com
Type:  TXT
Value: v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC...

If the decrypted hash matches a fresh hash of the message, DKIM passes. Selectors let you run a separate key for each sending service, and you rarely create keys yourself because Google Workspace, Microsoft 365, and most email platforms generate them for you. Microsoft 365, for example, has you publish two CNAME records instead of a TXT record.

How Does DMARC Work?

DMARC runs last. The receiver takes the SPF and DKIM results, checks whether either passing domain aligns with the From address, then looks up your policy at _dmarc.example.com:

v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com

The p= tag sets your DMARC policy. p=none only monitors, p=quarantine sends failing mail to spam, and p=reject blocks it outright.

The rua= tag tells mailbox providers where to send aggregate reports (RUA), usually once a day. Each report lists the IPs that sent mail as your domain and whether they passed. The reports arrive as raw XML files, which is why most businesses pair DMARC with a monitoring tool instead of reading them by hand.

How SPF, DKIM, and DMARC Work Together

Each protocol runs its own check, but DMARC makes the final call. The diagram below shows the order a receiving server follows for every message that claims to come from your domain.

How SPF, DKIM, and DMARC work togetherAn incoming email goes through SPF and DKIM checks, then a DMARC alignment check against the From domain. If a passing domain aligns, DMARC passes. If not, DMARC fails and the receiver applies your policy: none, quarantine, or reject.Email arrivesFrom: you@example.comSPF checkReturn-Path domainDKIM checkSignature d= domainDMARC alignment checkDoes a passing domain match From?YesNoDMARC passTreated as authenticDMARC failApply your p= policyp=none: deliver and send reportsp=quarantine: send to spamp=reject: block the message
DMARC only needs one aligned pass, from either SPF or DKIM, to trust a message.

What Is DMARC Alignment?

DMARC alignment means the domain that passed SPF or DKIM matches the domain in the visible From address. You only need one aligned pass, not both.

Alignment comes in two modes, set with the aspf= and adkim= tags in your DMARC record. Relaxed alignment, the default, accepts any subdomain of the same organizational domain, so news.example.com aligns with example.com. Strict alignment requires an exact match.

Here’s how the results combine:

SPF Result DKIM Result Which Result Aligns? DMARC Result
Pass Pass Both ✔ Pass
Fail Pass DKIM only ✔ Pass
Pass Fail SPF only ✔ Pass
Pass Pass Neither ✘ Fail
Fail Fail Neither ✘ Fail

Row four is the one that catches businesses off guard. A newsletter platform can pass SPF and DKIM using its own domain, yet still fail DMARC because neither domain matches yours. The fix is to set up custom domain authentication inside the platform, which usually means adding a few DNS records it provides.

Can DMARC Pass If SPF Fails?

Yes. DMARC passes when DKIM passes and aligns, even if SPF fails completely. That’s why DKIM is the more dependable of the two for reliable delivery.

Why Does SPF Fail When Email Is Forwarded?

When someone forwards your message, it leaves from the forwarder’s server, whose IP address isn’t in your SPF record. SPF fails through no fault of yours.

A DKIM signature travels inside the message, so it usually survives forwarding intact. It can still break if a mailing list edits the content, for example by adding a footer or changing the subject line.

That’s the gap ARC (Authenticated Received Chain) was built to close. When a forwarder or mailing list supports ARC, it records the authentication results it saw before changing the message, so the final mailbox provider can still trust a message that would otherwise fail. You don’t publish an ARC record yourself; the forwarding service and the receiving inbox handle it.

Strengths and Limitations of SPF, DKIM, and DMARC

No single protocol covers every gap, which is exactly why they’re designed to run together. Here’s what each one does well and where it falls short.

Strengths
  • SPF: Quick to set up with a single TXT record
  • DKIM: Proves the message wasn’t altered after signing
  • DKIM: Usually survives forwarding
  • DMARC: Lets you decide what happens to failing mail
  • DMARC: Daily reports reveal every service sending as your domain
Limitations
  • SPF: Breaks when email is forwarded
  • SPF: The 10-DNS-lookup limit gets tight as you add sending services
  • DKIM: Signatures break if a mailing list edits the message
  • DMARC: Doesn’t stop lookalike domains or display-name spoofing
  • DMARC: A p=none policy monitors but never blocks anything

The last two limitations matter most. DMARC protects your exact domain, but it can’t stop a scammer who registers a lookalike such as examp1e.com or types your company name into the display-name field of a free Gmail account.

That’s why security teams pair authentication with staff training and lookalike-domain monitoring. And a DMARC record left at p=none indefinitely only watches your traffic without protecting it.

Do You Need SPF, DKIM, and DMARC? 2026 Requirements

Yes. Gmail now requires every sender, at any volume, to set up SPF or DKIM, and bulk sender requirements at all three major mailbox providers call for SPF, DKIM, and DMARC together.[1][2]

Provider Who It Applies To What’s Required Enforcement
Gmail More than 5,000 messages a day to personal Gmail accounts SPF and DKIM, plus DMARC (p=none or stricter) aligned with SPF or DKIM Since February 2024; stricter rejections began November 2025
Yahoo Bulk senders (no published volume threshold)[2] SPF, DKIM, and DMARC, with the From domain aligned to SPF or DKIM Since February 2024
Outlook.com, Hotmail, Live.com More than 5,000 messages a day SPF, DKIM, and DMARC (p=none or stricter) aligned with SPF or DKIM Since May 5, 2025; non-compliant mail is junked or rejected

Microsoft’s original announcement said non-compliant mail would go to Junk first.[7] Mailgun and dmarcian later reported that Microsoft began rejecting it outright instead, so plan for rejection.

Who Needs DMARC Enforcement Most?

Move past monitoring if you are: An online store sending order confirmations, a SaaS company sending password resets, or anyone running newsletters or cold outreach. Any business whose name is worth impersonating belongs here.
Don’t forget: Domains that never send email. A parked domain should publish v=spf1 -all and a DMARC record at p=reject, so no one can send as it.

Aligning both SPF and DKIM isn’t required today, but it’s the safest setup: if forwarding breaks one, the other still carries DMARC.

How to Set Up SPF, DKIM, and DMARC Step by Step

Order matters here. Set up SPF first, then DKIM, and add DMARC last in monitoring mode, so you never block your own legitimate email.

1

List every service that sends as your domain. Include your inbox provider, newsletter platform, CRM, help desk, and invoicing or e-commerce tools. Any sender you miss will fail DMARC later.

2

Publish one SPF record. Combine every service’s include into a single TXT record at your root domain, and end it with ~all while you’re testing. Count your lookups so you stay under the 10-lookup limit.

3

Turn on DKIM signing for each service. Generate the key in each platform’s authentication settings, publish the TXT or CNAME record it gives you, then click Verify or Start Authentication inside the platform.

4

Publish DMARC at p=none. Add a TXT record at _dmarc.yourdomain.com with v=DMARC1; p=none; rua=mailto: followed by a mailbox you monitor. This starts the reports without affecting delivery.

5

Read your reports and fix failures. Aggregate reports show every source sending as your domain. When a legitimate tool fails, enable its custom domain authentication so its SPF or DKIM domain aligns with yours.

6

Move to p=quarantine, then p=reject. Tighten the policy only after your reports show every legitimate source passing, which often takes several weeks. At p=reject, spoofed mail using your exact domain is blocked.

How Do You Check Whether Your Records Work?

Send a test email to a Gmail account, open it, and choose Show original from the three-dot menu. You’ll see a PASS or FAIL result for SPF, DKIM, and DMARC at the top.

Other mailbox providers show the same results in the Authentication-Results header as spf=pass, dkim=pass, and dmarc=pass. DNS changes can take up to 48 hours to spread, so retest the next day if a new record doesn’t show up yet.

Best DMARC Tools to Simplify Setup: 2026 Pricing

Reading raw XML reports by hand gets old fast, especially once you have more than one sending service. A DMARC monitoring tool turns those reports into a dashboard that shows who’s sending as your domain and what’s failing.

🔬

How We Evaluated These Tools

We haven’t personally tested these three tools. Every price and feature below is vendor-reported or taken from third-party software directories (G2, Capterra, and TrustRadius), and each claim names its source. Pricing last verified: .

Tool Starting Price Key Features Best For
EasyDMARC
Best for Small Businesses
Free for personal use; Plus from $35.99/mo billed annually ($44.99 month-to-month) Readable report dashboards, failure reports, EasySPF on Premium Small businesses with 1–2 domains (Plus), or teams that want expert guidance to reach enforcement (Premium)
PowerDMARC
Best All-in-One Coverage
Free for personal use; Basic from $8/mo, scaling with email volume Hosted DMARC, SPF, DKIM, BIMI, and MTA-STS in one dashboard Teams that want every protocol managed in one place
Valimail Monitor
Best Free Option
Free; paid Enforce plans are quote-only Shows every service sending as your domain; hosted records on paid plans Getting visibility before you spend anything

Prices vary by billing cycle and source, so check the vendor’s page before you buy. EasyDMARC’s pricing page lists the Plus plan at $35.99 a month billed annually or $44.99 month-to-month, and Premium at $71.99 a month billed annually.[3] G2 shows the same $35.99 to $71.99 range. Capterra lists a lower $17.99 starting price, billed per feature,[6] so confirm which plan that figure covers before you compare.

PowerDMARC’s Basic plan starts at $8 a month and scales with email volume, up to $250 a month at the top tier, according to a June 2026 capture of its pricing page by DMARCguard, a competing DMARC vendor.

Who Should Skip Each DMARC Tool?

EasyDMARC is best for: Small businesses that want readable dashboards, with expert guidance available on the Premium plan.
Skip EasyDMARC Plus if: You manage more than two domains, since the plan covers two.
PowerDMARC is best for: Teams that want DMARC, SPF, DKIM, BIMI, and MTA-STS managed in one dashboard.
Skip PowerDMARC if: You want the simplest possible interface, because G2 reviewers mention clutter.[5]
Valimail Monitor is best for: Getting free visibility into every service sending as your domain.
Skip Valimail’s paid plans if: You need published pricing, since they’re quote-only.


See EasyDMARC Pricing →

On a tight budget? Try Valimail Monitor free to see every service sending as your domain before you pay for anything.

What Users Say About EasyDMARC, PowerDMARC, and Valimail

Review scores for DMARC tools shift from week to week, and different snapshots rarely match. The table below lists each source’s figures, with review counts and dates, so you can judge the sample size yourself.

Tool G2 Rating Other Platforms Most Common Complaint
EasyDMARC 4.8/5 from 151 reviews (G2 comparison page, September 2026)[4] Capterra: 92% of reviewers work at small businesses[6] Price increases and a smaller free plan (Trustpilot reviewers, per EmailWarmup’s April 2026 review)
PowerDMARC 4.9/5 from 237 reviews (G2, September 2026); 4.9/5 from 244 reviews (June 2026 snapshot) Capterra: 4.7/5 from just 7 reviews Pricing feels high when onboarding many clients; a cluttered interface (G2 reviewers)[5]
Valimail 4.6/5 from 443 reviews (G2 comparison page); 4.5/5 from 659 reviews (Valimail-reported, G2 Fall 2026 report) Trustpilot: only 1 review Paid plans require a sales call, with no public pricing

Across all three tools, customer support is the strength reviewers mention most. EasyDMARC scores 9.6 out of 10 for quality of support on G2,[4] and support is PowerDMARC’s most-cited tag there too.[5]

⚠️

Read Ratings Carefully

Vendors heavily promote their G2 badges, and one Valimail figure above comes from Valimail itself. Some of the most detailed comparison pages are written by competing DMARC vendors, which is why we name every source instead of blending them into one score.

Final Verdict: The Difference Between SPF, DKIM, and DMARC

SPF says which servers can send for you, DKIM proves the message arrived intact, and DMARC checks that one of them matches the name your recipient actually sees. You need all three, because each one covers a gap the others leave open.

Set them up in order: SPF, then DKIM, then DMARC at p=none. Give your reports time to show every legitimate sender passing before you move to quarantine and then reject.

The Bottom Line

Which DMARC Tool Should You Use?

If you’d rather not read XML reports yourself, match the tool to your situation. EasyDMARC suits small businesses that want readable dashboards, with expert guidance available on its Premium plan. PowerDMARC fits teams that want every protocol in one dashboard, and Valimail Monitor is the easiest way to get visibility for free.

Whichever route you take, the DNS records themselves cost nothing. The real cost comes from waiting until a spoofed invoice or a wave of rejected emails forces the issue.


Try EasyDMARC Free →

Frequently Asked Questions

Do I need SPF, DKIM, and DMARC, or just one?

You need all three. SPF and DKIM each authenticate a different part of the message, but neither checks the From address your recipient actually sees. DMARC closes that gap and tells inboxes what to do with failures. Gmail and Outlook.com require the full set for senders of more than 5,000 messages a day, and Yahoo requires it for bulk senders.

Which should I set up first: SPF, DKIM, or DMARC?

Start with SPF, then turn on DKIM for every service that sends as your domain. Add DMARC last with a p=none policy, which collects reports without blocking anything. Once the reports show all your legitimate email passing, tighten the policy to quarantine and then reject.

Can DMARC pass if SPF fails?

Yes. DMARC only needs one aligned pass, so a message that fails SPF still passes DMARC if its DKIM signature is valid and matches the From domain. This happens often with forwarded email, where SPF breaks but the DKIM signature travels with the message intact.

What does p=none mean in DMARC?

A p=none policy tells receiving servers to take no action on messages that fail DMARC. They deliver the mail normally but still send you aggregate reports. It’s the safe starting point for finding every legitimate sender, but it doesn’t protect your domain from spoofing until you move to quarantine or reject.

Are SPF, DKIM, and DMARC required by Gmail and Yahoo?

Yes, for bulk senders. Since February 2024, Gmail has required SPF, DKIM, and a DMARC record of at least p=none for anyone sending more than 5,000 messages a day to personal Gmail accounts. Yahoo applies similar rules to bulk senders without publishing a volume threshold. Smaller Gmail senders still need SPF or DKIM.

How do I check if my SPF, DKIM, and DMARC records are working?

Send a test email to a Gmail account, open it, and choose Show original from the three-dot menu. Gmail displays a PASS or FAIL result for SPF, DKIM, and DMARC at the top. You can also look up each record with a free DNS checker, which most DMARC vendors offer.

Do SPF, DKIM, and DMARC guarantee my emails reach the inbox?

No. Authentication proves your email really comes from you, but inbox placement also depends on your sender reputation, spam complaint rate, content, and list quality. Gmail, for example, asks senders to keep their reported spam rate below 0.1% and never let it reach 0.3%.[1] Think of authentication as your entry ticket, not a guarantee.

What is BIMI, and does it need DMARC?

BIMI (Brand Indicators for Message Identification) displays your verified logo next to your emails in supporting inboxes such as Gmail and Yahoo. It only works after DMARC is at enforcement, meaning p=quarantine or p=reject. Gmail also requires a Verified Mark Certificate or Common Mark Certificate before it shows your logo.

Check Your Domain Before a Spoofer Does
A single test email to Gmail shows whether your SPF, DKIM, and DMARC records exist and pass. If any are missing, start with SPF today and work through the six setup steps above. Want a second pair of eyes on your reports? EasyDMARC offers a free demo with its team.


Get a Free Demo →

References

  1. Google
    “Email sender guidelines”
    Gmail Help. Accessed September 2026
    support.google.com
  2. Yahoo
    “Sender Best Practices”
    Yahoo Sender Hub. Accessed September 2026
    senders.yahooinc.com
  3. EasyDMARC
    “Business Packages: Plans for SMBs & Enterprises”
    Accessed September 2026
    easydmarc.com
  4. G2
    “Compare EasyDMARC and Mimecast DMARC Analyzer”
    Accessed September 2026
    g2.com
  5. G2
    “PowerDMARC Pros and Cons”
    Accessed September 2026
    g2.com
  6. Capterra
    “EasyDMARC Software Pricing, Alternatives & More 2026”
    Accessed September 2026
    capterra.com
  7. Microsoft
    “Strengthening Email Ecosystem: Outlook’s New Requirements for High-Volume Senders”
    Microsoft Tech Community, April 2025
    techcommunity.microsoft.com

SoftwareAdvisorHub
Logo
Compare items
  • Cameras (0)
  • Phones (0)
Compare