dns SPF DKIM DMARC email security DNS records phishing prevention

SPF, DKIM, and DMARC Explained: How to Set Up Email Authentication to Avoid Spam and Spoofing

Mark Zhang August 7, 2026 34 views

Why Email Authentication Matters

You've drafted the perfect campaign, hit send, and then watched your open rates crawl to nearly zero. The culprit? Your emails landed in the spam folder — or worse, your domain was impersonated and you didn't even know it. For anyone who runs a website, sends transactional emails, or manages a domain portfolio, email authentication isn't optional anymore. Gmail, Yahoo, and Outlook now require it, and even the newest mailbox providers are paying close attention.

Three protocols form the backbone of email authentication: SPF, DKIM, and DMARC. They don't work in isolation — they're a team. Once you understand how each one fits into the bigger picture, you'll stop worrying about deliverability and spoofing and start focusing on your actual message.

What Is SPF? (Sender Policy Framework)

SPF answers an incredibly simple question: "Who is allowed to send email from this domain?" It works by publishing a list of approved IP addresses and servers in a TXT record on your domain's DNS.

A typical SPF record looks something like this:

v=spf1 ip4:203.0.113.25 include:_spf.example.net ~all

Breaking that down:

  • v=spf1 — declares the record as SPF version 1.
  • ip4:203.0.113.25 — allows that specific IP to send mail.
  • include:_spf.example.net — imports authorized senders from your email service provider.
  • ~all — tells receiving mail servers that any other sender is a softfail (suspicious but not necessarily rejected). Use -all for a hard fail once you're confident in your configuration.

SPF has limits you need to respect: keep each mechanism's DNS lookups under ten total, publish only one SPF record, and always update the record when you add a new sending service. Tools like the DNS Analyzer make it easy to inspect what your domain is currently publishing.

What Is DKIM? (DomainKeys Identified Mail)

SPF verifies the server; DKIM verifies the message itself. DKIM uses public-key cryptography to attach a digital signature to every outgoing email. That signature is unique to your domain and can't be forged by outsiders.

Here's how it works in plain terms:

  • Your email provider signs each message with your domain's private key.
  • You publish the matching public key as a TXT record in your DNS, under a special selector address.
  • Receiving servers look up the public key, verify the signature, and confirm the email wasn't altered in transit.

Your DKIM TXT record might look like this:

v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD...

The record lives at <selector>._domainkey.yourdomain.com. Your email provider will give you the exact selector and key — Google Workspace, Outlook, and most ESPs handle the key generation automatically. Just copy the values into your DNS console.

What Is DMARC? (Domain-based Message Authentication, Reporting & Conformance)

SPF and DKIM produce their own verdicts, but DMARC tells receiving servers what to do when an email fails those checks. It also enforces alignment — meaning the domain in the "From" address has to match the domain verified by SPF or signed by DKIM.

A DMARC record is published at _dmarc.yourdomain.com and looks like this:

v=DMARC1; p=none; rua=mailto:[email protected]; pct=100

DMARC has three policy levels:

  • p=none — monitor only. Nothing happens to failing emails, but you receive reports about them.
  • p=quarantine — failing emails are sent to the spam folder.
  • p=reject — failing emails are bounced outright. This is the strongest protection against spoofing.

The rua tag is where your aggregate reports get delivered. If you don't monitor these reports, you're flying blind.

How the Three Protocols Work Together

Think of SPF as a guest list, DKIM as a wax seal on the envelope, and DMARC as the bouncer in front of your domain's reputation. SPF walks the guest list, DKIM checks the seal, and DMARC decides whether to let the message through, put it under observation, or throw it out entirely.

Here's a real-world example: a small online store called Bright Coffee noticed customers receiving phishing emails from [email protected] — except Bright Coffee never sent them. Without a DMARC policy, anyone could pretend to be them. Worse, those fake messages were damaging their domain reputation, causing legitimate receipts and order updates to fall into the spam folder. After implementing SPF, DKIM, and a DMARC policy set to p=quarantine, the phishing emails stopped landing in inboxes and their order confirmation open rates climbed back to normal.

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

Step 1: Inventory Your Sending Sources

List every service that sends email from your domain: your website's contact forms, newsletters, transactional emails, calendar invites from Google Workspace, marketing platforms — everything. You'll need to authorize all of them in your SPF record or through DKIM signing.

Step 2: Publish Your SPF Record

Create a TXT record at your root domain with v=spf1, your static IPs, and include: statements for each provider. End with ~all while you're testing.

Step 3: Sign Your Emails with DKIM

Log into each email service you use and generate a DKIM key pair following their documentation. Publish the public key TXT record they give you. If you use multiple providers, each one will have its own selector.

Step 4: Publish a DMARC Policy

Start with p=none and your rua address. Go live for at least a week while you monitor reports and confirm all legitimate senders pass authentication.

Step 5: Monitor, Analyze, and Enforce

Once your reports show a clean pass rate, tighten the policy to p=quarantine, then eventually p=reject. This gradual approach protects your deliverability while building a strong defense against spoofers.

Common Mistakes to Avoid

  • Multiple SPF records. Only one is allowed. Multiple records cause a permanent error and your domain fails authentication entirely.
  • Too many DNS lookups. SPF allows a maximum of 10 lookups per evaluation. Every include counts — keep your record lean or consolidate provider subdomains.
  • Setting DMARC to p=reject on day one. If a legitimate service isn't authenticated yet, you'll block your own email. Walk before you run.
  • Ignoring DMARC reports. The rua data is your early warning system. It shows you exactly which senders fail and why, so you can fix issues before they cost you sales.
  • Forgetting subdomains. DMARC only exists at the exact domain you put it on. If you send from mail.yourdomain.com or news.yourdomain.com, publish records for those subdomains too.

Verify Your Configuration

After publishing your records, don't trust that everything is perfect because your DNS panel says so. Run a query to confirm each record is live, correctly formatted, and pointing where it should. The DNS Analyzer on Whose.Domains lets you inspect your TXT records, SPF syntax, DMARC policies, and more from one interface. For a complete snapshot of your domain's overall health, the Domain Analyzer gives you a broader view of your domain's configuration and potential issues.

Final Thoughts

Email authentication is the cheapest form of security and spam prevention your domain can have. The setup takes less than an hour, but it pays off every single day in the form of protected sender reputation, improved inbox placement, and peace of mind. Start with SPF, add DKIM, enforce with DM

Tags: SPF DKIM DMARC email security DNS records phishing prevention

Related Posts

DNS CNAME Flattening Explained: How to Use Apex Domains with CDNs and Cloud Services
Aug 22, 2026
EDNS Client Subnet Explained: How It Improves CDN Performance and DNS Accuracy
Aug 13, 2026
How to Use GeoDNS and Server Load Balancing to Improve Website Performance and Availability
Aug 4, 2026