If you send cold email in 2026 without SPF, DKIM, and DMARC, you are filtered by default — not as a penalty, but because Google and Yahoo now require all three for bulk senders. A correct SPF, DKIM, and DMARC setup for cold email takes about fifteen minutes per domain, and once it's right you rarely touch it again. This is the exact setup, what each record actually does, and how to confirm it's working.
First, a rule that saves domains: never send cold email from your primary business domain. Buy separate sending domains, authenticate each one, and keep your main domain's reputation untouched. Everything below applies per sending domain.
What each record does (in plain terms)
Think of the three as answering three different questions a mailbox provider asks about your message.
| Record | Question it answers | Lives in |
|---|---|---|
| SPF | "Is this server allowed to send for this domain?" | A DNS TXT record |
| DKIM | "Was this message actually signed by the domain, unaltered?" | A DNS TXT record + a signature on each email |
| DMARC | "What should I do if SPF or DKIM fail — and where do I report it?" | A DNS TXT record |
They stack. SPF and DKIM each prove a piece; DMARC ties them to your visible From address (this is alignment) and tells receivers how strict to be. Miss one and the chain is incomplete.
1. SPF — authorize your senders (5 min)
SPF is a single TXT record at your domain root listing who can send for you. Your sending platform (Google Workspace, Microsoft 365, or your cold email tool's infrastructure) publishes an include you add.
A typical record:
v=spf1 include:_spf.google.com ~all
Three things people get wrong:
- One SPF record only. Multiple
v=spf1records break SPF entirely. Merge all your senders'include:statements into one. - Stay under 10 DNS lookups. Each
includecosts lookups; too many and SPF returnspermerrorand fails. Flatten if you're near the limit. - Use
~all(softfail) or-all(hardfail), not+all.-allis stricter;~allis safer while you're still adding senders.
2. DKIM — sign your mail (5 min)
DKIM gives your domain a private/public key pair. Your sending server signs each message with the private key; you publish the public key as a DNS TXT record at a selector subdomain like google._domainkey.yourdomain.com. Receivers verify the signature matches.
You don't hand-write DKIM — your provider generates the key and gives you the exact record to paste. The one thing that matters for cold email is alignment: the domain in the DKIM signature (d=) should match your From domain. If you send from you@yourdomain.com but DKIM signs for mail.provider.com, DKIM passes but DMARC alignment fails — and you quietly lose deliverability. Always use a DKIM record on your own domain, not the provider's shared one.
3. DMARC — tie it together (5 min)
DMARC is a TXT record at _dmarc.yourdomain.com. Start in monitor mode:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
p=none— take no action, just report. This satisfies the Google/Yahoo requirement and lets you watch for two weeks without risking delivery.rua=— where aggregate reports go. Read them: they tell you whether SPF and DKIM are actually passing and aligned in the wild.- Once reports confirm both pass and align, move to
p=quarantineto protect the domain from spoofing.
Do not jump straight to p=reject before your reports are clean — you can bounce your own legitimate mail. If you're unsure when to move from p=none to p=quarantine, DMARC policy: none vs quarantine walks through the decision with specific checks to run first.
The 15-minute setup checklist
Per sending domain:
- SPF: one TXT record at the root with your sender's
include, ending~all. No duplicates. - DKIM: provider-generated key published at the selector;
d=aligned to your From domain. - DMARC: TXT at
_dmarc, startp=nonewith arua=mailbox you'll actually check. - Wait for DNS to propagate (minutes to a few hours).
- Verify — don't assume. Send a test to a Gmail account, open "Show original," and confirm SPF, DKIM, and DMARC each say PASS.
- After ~2 weeks of clean reports, tighten DMARC to
p=quarantine.
Skip the manual header-reading: run each sending domain through the free deliverability checker — it confirms SPF, DKIM, and DMARC are present and aligned, plus flags blacklist status and domain age in one pass.
Authentication is the floor, not the ceiling
Getting all three to PASS is the price of entry — it gets you past the first gate. It does not, on its own, put you in the inbox. As we covered in why cold emails go to spam, reputation, warmup, content, and volume decide the rest. Authenticated mail from a cold, unwarmed domain still lands in spam.
And the next hurdle is specific: beyond auth, Google and Yahoo have explicit sender requirements — complaint-rate ceilings, one-click unsubscribe, and more — that cold senders have to meet. Auth first, then those.
The operational catch: DNS records drift. A provider migration, a well-meaning edit, an expired key — any of these silently breaks alignment, and you won't know until your reply rate craters. If you run more than one domain, that risk multiplies. ColdOps watches authentication and deliverability signals across every sending domain in your Instantly, Smartlead, and EmailBison workspaces and alerts you the moment one breaks — so a broken SPF record is a two-minute fix, not a lost week.
Set the three records, verify PASS, then run the domain through the free checker to confirm. Fifteen minutes now saves you the worst kind of problem later — the silent one.
Frequently asked
Do I need SPF, DKIM, and DMARC for cold email?
What DMARC policy should I use for cold email?
Why is my email authenticated but still going to spam?
Should I set up auth on my main domain or a separate sending domain?
Keep reading
Email Deliverability Monitoring Tools: What to Watch
What email deliverability monitoring tools track, the signals that matter, when manual checking breaks down and how to choose a tool that fits your sending setup.
ReadDeliverabilityShould you turn off open tracking in cold email?
Should you turn off open tracking in cold email? For most campaigns, yes. How the pixel costs placement, what you lose, and what to measure instead.
ReadDeliverabilityGoogle Retired Domain Reputation in Postmaster Tools
Google removed the Domain and IP Reputation dashboards in Postmaster Tools v2. Here is what replaced them, the arithmetic that decides whether your domains report at all, and what to watch instead.
Read