Deliverability

SPF, DKIM, and DMARC for Cold Email: Set It Up Right (2026)

Email authentication is the cheapest deliverability win you'll ever get. Here's what each record actually does, how to check yours in five minutes, and the mistakes that still sink senders.

Published August 12, 2026

Authentication isn't glamorous, but it's the difference between "why is nothing landing" and a clean inbox. If you send cold email without all three records configured correctly, you are fighting filters with one hand tied behind your back.

Here's what each record does, how to verify yours in five minutes, and the configuration mistakes that still trip up senders in 2026.

What the three records do

RecordWhat it doesWhat a filter checks
SPFLists which servers are allowed to send for your domainDoes the sending IP appear in the SPF record?
DKIMCryptographically signs the emailDoes the signature match the domain's public key?
DMARCTells receivers what to do with unauthenticated mailHow should mail that fails SPF/DKIM be treated?

Think of it as identity, signature, and policy:

  • SPF (Sender Policy Framework) — a TXT record at your domain listing authorized senders. If your email comes from an IP not in the list, SPF fails.
  • DKIM (DomainKeys Identified Mail) — the mail is signed with a private key; receivers check the signature against a public key published in your DNS. It proves the message wasn't tampered with in transit.
  • DMARC (Domain-based Message Authentication, Reporting & Conformance) — a policy record telling receivers what to do when SPF or DKIM fails, and where to send reports. It also requires alignment: the domain in the From address should match the domain used for SPF/DKIM.

Check yours in five minutes

Send a test email to an address you control, open the raw message (Gmail: ⋮ → Show original; Outlook: ⋮ → View → View message source) and look at the Authentication-Results header:

spf=pass (google.com: domain of [email protected] designates ... as permitted sender)
dkim=pass [email protected]
dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE)

You want all three to say pass (or at minimum dkim=pass + spf=pass with dmarc=pass policy). If any fail, fix that record before doing anything else — no content tweak compensates for failed authentication.

Prefer a tool? MXToolbox and Google's Admin Toolbox both run free SPF/DKIM/DMARC checks from your domain's DNS.

The mistakes that still sink senders

1. SPF failures from too many includes. SPF has a hard limit of 10 DNS lookups; each include: and redirect= counts. Stack "include:amazonses.com + include:mailgun.org + include:spf.google.com + include:sendgrid.net" and you'll blow past the limit — receivers then treat SPF as permerror (permanent error), which is worse than a simple fail. Audit and consolidate: if you've moved providers, remove the dead includes.

2. From-domain misalignment. You authenticated mail.yourdomain.com but send From: [email protected]. Filters see the mismatch and DMARC fails even with valid SPF/DKIM. Authenticate the exact domain you send from.

3. DMARC policy of none forever. p=none only monitors — it does nothing to protect you. Once your SPF/DKIM pass consistently, move to p=quarantine, then p=reject. (And don't skip rua= — the aggregate reports are how you see who's sending as you.)

4. Third-party senders using your domain. Every tool that sends from your domain needs to be in your SPF and aligned. When you add a new sending tool, update the records — otherwise it fails authentication from day one and drags your reputation with it.

5. Forgetting subdomains. Google and Microsoft now require DMARC on the organizational domain (e.g. yourcompany.com) — not just mail.yourcompany.com — for bulk senders. If you send from a subdomain, ensure the root domain also has SPF/DKIM/DMARC.

What 2026's rules add

The Gmail and Yahoo bulk-sender requirements (in force since 2024) make this non-negotiable for anyone sending more than a few thousand emails a day: SPF or DKIM must pass, DMARC must be set (at least p=none), and there must be one-click unsubscribe in the message. Compliance isn't optional anymore — it's the price of entry.

How GQ CRM fits in

GQ CRM can't set your DNS records for you, but it removes the infrastructure guesswork around them:

  • Connect over your own SMTP (SES, Mailgun, Google Workspace, or any relay) — the relay handles signing, and the SMTP guides show the exact records each provider expects.
  • From-domain consistency — each project has its own SMTP configuration and From address, so you can keep one project per sending domain and never mix reputations.
  • Verification before send — bounces and complaints are the reputation signals filters weigh alongside authentication; GQ CRM verifies recipients and classifies bounces as hard/soft so you can act on them.

Authentication is a prerequisite, not a strategy. Set it up right once, verify it, and then go earn replies the honest way: verified lists, paced volume, human content.