Skip to main content

Guide

SPF, DKIM, and DMARC for Cold Email: What You Actually Need in 2026

SPF, DKIM, and DMARC each do something different. Here's the DMARC policy and subdomain setup a cold email domain needs in 2026, per Google and Yahoo.

On this page
  1. What do SPF, DKIM, and DMARC each do?
  2. What is SPF and does cold email need it?
  3. What is DKIM and how is it different from SPF?
  4. What DMARC policy should a cold email domain use?
  5. Do you need a separate subdomain for cold email sending?
  6. What happens if you skip SPF, DKIM, or DMARC on a cold email domain?
  7. How do you check if SPF, DKIM, and DMARC are actually working?
  8. Frequently asked questions

SPF lists which servers can send for your domain. DKIM signs each message so it can't be altered in transit. DMARC tells inbox providers what to do when those checks fail. Cold email needs all three: Gmail and Yahoo require SPF, DKIM, and DMARC on any domain sending 5,000+ messages a day, per Google's bulk sender guidelines.

That single fact changed cold outbound more than any copywriting trend has in years. A domain missing even one of these three records now gets throttled, spam-foldered, or silently dropped before a prospect ever sees the subject line. This guide covers what each standard actually does, what DMARC policy a cold email domain should run, and why the standard advice to "just set DMARC to reject" is wrong for anyone actively sending cold outbound.

What do SPF, DKIM, and DMARC each do?

Each standard solves a different half of the same problem: proving a message really came from your domain. SPF and DKIM authenticate the message. DMARC tells the receiving server what to do with authentication failures and reports the results back to you. None of the three replaces the other two. Skipping any one leaves a gap a spoofer or a spam filter will find.

StandardWhat it doesWhat it protects againstRequired for cold email?
SPF (Sender Policy Framework)Publishes a DNS TXT record listing which mail servers are authorized to send for your domainServers you never authorized sending mail claiming to be from your domainRequired. Gmail requires SPF or DKIM at minimum for every sender, per Google's guidelines
DKIM (DomainKeys Identified Mail)Adds a cryptographic signature to each outgoing message, tied to a public key published in your DNSMessage tampering in transit and unauthenticated mail impersonating your domainRequired. Bulk senders (5,000+ emails/day) must have both SPF and DKIM, per Google
DMARC (Domain-based Message Authentication, Reporting and Conformance)Tells receiving servers what to do when SPF/DKIM fail and whether the From: address aligns with them; sends you failure reportsDomain spoofing, phishing sent under your domain name, and blind spots in SPF/DKIM alignmentRequired at 5,000+ emails/day for Gmail and Yahoo; recommended at any volume for a domain actively sending cold email

What is SPF and does cold email need it?

SPF is a DNS TXT record, published on your sending domain, that lists every server or third-party platform allowed to send email as you. A receiving mail server checks the From: address, looks up the SPF record, and confirms the sending server is on the list. Cold email absolutely needs it: without SPF, a receiving server has no way to know your outbound platform (Smartlead, Instantly, or whatever you run campaigns through) is actually authorized to send as your domain, and unauthenticated bulk mail is the first thing modern spam filters throw out.

A typical SPF record looks like v=spf1 include:_spf.google.com ~all. The ~all tag (softfail) tells receiving servers to flag unauthorized senders as suspicious rather than bounce them outright, which is what Google's own SPF setup guidance recommends. There's a hard technical ceiling here that trips up a lot of DIY setups: SPF allows a maximum of 10 DNS lookups per check, per the SPF protocol spec (RFC 7208). Stack too many third-party include: statements (your outbound tool, a marketing platform, a helpdesk, a CRM) on one domain and the record breaks silently, which is one more reason cold email domains should stay lean and dedicated.

What is DKIM and how is it different from SPF?

SPF authenticates the server. DKIM authenticates the message. Every email you send gets a private-key signature baked into its header; the matching public key sits in a DNS TXT record at a specific selector (something like selector1._domainkey.yourdomain.com). The receiving server pulls the public key, verifies the signature, and confirms the message wasn't altered after it left your sending platform.

Key length matters more than most senders realize. Google's bulk sender guidelines specify DKIM keys must be at least 1024 bits, with 2048-bit keys recommended. Most cold email platforms generate 2048-bit keys by default when you connect a domain, so this is rarely something you configure by hand, but it's worth checking if you're troubleshooting a domain that was set up manually or migrated from another provider.

What DMARC policy should a cold email domain use?

Set cold email sending domains to p=none. Not quarantine, not reject. This is the direct guidance from both platforms that matter most: Google states a bulk sender's "DMARC enforcement policy can be set to none," and Yahoo's sender best practices set p=none as the minimum acceptable policy for bulk senders, with a recommendation to monitor reports before considering anything stricter.

Most generic security guides tell you to march straight to p=reject because it sounds more locked-down. For a domain you're actively using to send cold outbound, that's the wrong move, and here's the mechanism: p=reject tells receiving servers to drop any message that fails SPF or DKIM alignment, no exceptions, no delivery, no bounce notice you'll ever see. If your outbound tool's DNS records drift out of alignment for even a day (a platform migration, a new subdomain added without matching records, a typo in a CNAME), every email you send during that window vanishes silently. You won't get an alert. You'll just stop getting replies and have no idea why.

Warmy's DMARC guidance lays out the right sequence: start with p=none to monitor without enforcement, confirm your reports show clean alignment, and only then consider moving to p=quarantine or p=reject. Even then, that escalation makes sense for a corporate domain protecting its brand from phishing, not for a domain whose whole job is sending high volumes of first-touch outbound to strangers. Keep the two use cases separate.

Do you need a separate subdomain for cold email sending?

Yes. Send cold outbound from a subdomain (or a dedicated secondary domain) and keep your primary corporate domain for internal mail, billing, and anything transactional. Cold email inherently runs hotter on bounce rates and spam complaints than any other mail your company sends, especially in the first few weeks of warming up a new domain. If that reputation damage lands on your root domain, it can affect deliverability for your actual business email, the invoices and contracts your team depends on.

A subdomain gives you a blast radius you control. If outreach.yourcompany.com takes a reputation hit from an aggressive send or a bad list, you retire it and stand up a new one without touching yourcompany.com itself. Each subdomain also gets its own SPF and DKIM records, which is exactly why keeping cold email on a dedicated subdomain avoids the 10-lookup SPF ceiling mentioned earlier: your root domain's SPF record stays untouched by whatever your outbound platform needs.

What happens if you skip SPF, DKIM, or DMARC on a cold email domain?

Below the bulk sender threshold, the immediate damage is spam-foldering: filters at Gmail, Yahoo, and Outlook increasingly treat unauthenticated bulk mail as suspect by default, authentication requirement or not. Above 5,000 emails a day, it's not a filtering risk, it's a hard block. Google's guidelines, effective since February 1, 2024, state that bulk senders without SPF, DKIM, and DMARC in place will have their mail rejected or heavily throttled by Gmail. Yahoo enforces the same floor on its side.

Most cold email operations never touch 5,000 sends a day on a single domain, which is exactly why domain-splitting across multiple sending domains is standard practice, not a threshold to test. But the volume rule is a minimum, not a safety line: a domain sending 500 emails a day with no DKIM signature still looks less trustworthy to a spam filter than one that's fully authenticated, and inbox placement is a spectrum, not a pass/fail gate that only kicks in at 5,000.

How do you check if SPF, DKIM, and DMARC are actually working?

Send a test message to a mailbox you control and check the raw headers for spf=pass, dkim=pass, and dmarc=pass. Most webmail clients expose this under "show original" or "view source." If you're running DMARC in monitoring mode (p=none), the rua tag in your DMARC record should point to an inbox or reporting tool where you'll get daily aggregate reports showing every server that sent mail claiming to be from your domain, and whether it passed alignment.

Changes to SPF, DKIM, or DMARC records propagate through DNS within minutes to a few hours in most cases, but some resolvers cache records for up to 48 hours. Don't panic-edit a record and expect an instant fix. Wait a full DNS cycle, then re-check before assuming the change didn't take.

We run our clients' campaigns on ReachInbox, with mailboxes and domains set up through Zapmail.

Want every email written for the person it goes to?

Modern Inbound runs hyper-personalised cold email at scale and hands you every warm lead. Book a demo.

Frequently asked questions

Does cold email need DMARC if I'm sending under 5,000 emails a day?

Google and Yahoo's mandatory DMARC requirement only kicks in at 5,000+ messages a day, but inbox providers use authentication signals below that threshold too. A domain with SPF, DKIM, and DMARC (even at p=none) in place will generally land in the inbox more reliably than one with none at all, regardless of volume.

What DMARC policy is safest for a cold email domain?

p=none. It satisfies Gmail and Yahoo's bulk sender requirement, gives you visibility into who's sending mail as your domain through aggregate reports, and doesn't risk your own outbound campaigns getting silently dropped if a DNS record briefly drifts out of alignment.

Can I use my main company domain for cold email instead of a subdomain?

You can, but it puts your primary domain's reputation on the line for every cold campaign you run. If a list is bad or a send is too aggressive, the reputation damage lands on the same domain that handles your billing and business email. A dedicated sending subdomain contains that risk.

How long does it take for SPF, DKIM, and DMARC to start working after setup?

DNS changes typically propagate within minutes to a few hours, though some resolvers cache records for up to 48 hours. Authentication itself is active as soon as records propagate, but a new sending domain still needs a separate warmup period before providers trust it at volume.

Does DMARC alone stop cold emails from going to spam?

No. DMARC governs what happens when SPF or DKIM checks fail and reports on spoofing attempts. It doesn't evaluate content, sending reputation, engagement rates, or list quality, all of which affect spam placement independently of authentication status.

Getting the DNS records right is table stakes, not a strategy. Domain authentication stops filters from blocking you outright; it doesn't make a weak list or generic copy land meetings. If you'd rather have a team handle the domain setup, warmup, and sending infrastructure end to end, that's the execution layer Modern Inbound covers, or you can get in touch to talk through your current setup.

Rishabh Ambasta

Rishabh Ambasta Founder, Modern Inbound

Runs a research-led cold email agency measured in delivered replies. Before that, outbound for SaaS teams from $1M to $50M ARR. LinkedIn