Deliverability Labs May 10, 2025 · 8 min read

SPF, DMARC, and MX: The DNS Records Every Cold Email Sender Must Configure

A practical walkthrough of the three DNS records that determine whether your cold email lands in the inbox or the spam folder. No fluff — just the exact records you need and why each one matters.

If your cold emails are landing in spam, the first thing to check isn’t your subject line. It’s your DNS. Three records — SPF, DMARC, and MX — are the baseline authentication layer that receiving mail servers use to decide whether to trust your domain before they even read the content.

Get them wrong and you’re flagged as a potential spammer at the infrastructure level. Get them right and you’re working from a foundation that Gmail, Outlook, and Yahoo actually respect.

SPF: Telling Receiving Servers Which IP Addresses Can Send as You

SPF (Sender Policy Framework) is a TXT record in your DNS that lists the IP addresses and services authorised to send email from your domain. When a receiving server gets an email claiming to be from outreach@yourdomain.com, it checks your SPF record to see if the sending server is on the authorised list.

What a correct SPF record looks like:

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

Breaking this down:

  • v=spf1 — declares this is an SPF record
  • include:_spf.google.com — authorises Google Workspace to send on your behalf
  • include:sendgrid.net — authorises SendGrid (or your sending tool’s SMTP relay)
  • ~all — soft fail for anything not on the list (use -all for a hard fail once you’re confident)

Common mistakes:

  • Having more than one SPF record. DNS allows only one. Merge all include: directives into a single record.
  • Exceeding 10 DNS lookups. Each include: counts toward the limit. Use tools like MXToolbox to audit your lookup count.
  • Using +all which authorises any server — effectively disabling SPF protection.

DMARC: Telling Receiving Servers What to Do When SPF or DKIM Fails

DMARC (Domain-based Message Authentication, Reporting & Conformance) sits on top of SPF and DKIM. It tells receiving servers what policy to apply when an email fails authentication checks, and where to send forensic reports.

A production-ready DMARC record:

v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc@yourdomain.com
  • p=quarantine — emails failing DMARC go to spam rather than being rejected outright
  • p=reject — emails failing DMARC are rejected entirely (the strictest setting, use after validating)
  • pct=100 — apply the policy to 100% of messages (start at pct=10 if you’re cautious)
  • rua= — aggregate report recipient; you’ll receive daily digests of authentication results

Starting out: Use p=none first. This is monitoring mode — it doesn’t affect deliverability but you start receiving reports so you can understand your sending landscape before enforcing a policy.

The progression: p=none → validate your reports for 2–4 weeks → p=quarantine; pct=10 → ramp to pct=100 → eventually p=reject once you’re confident nothing legitimate is being flagged.

Google and Yahoo now require DMARC (p=none at minimum) for bulk senders — so this isn’t optional.

MX Records: The Return Address Your Domain Needs

MX (Mail Exchanger) records define which servers handle inbound mail for your domain. You might think “I’m only sending, not receiving” — but MX records matter for cold email for two reasons:

  1. Receiving servers check that your domain has valid MX records. A domain with no MX records looks abandoned or throwaway, which is a spam signal.
  2. Reply tracking requires a valid inbox. When a prospect replies, their mail server routes the reply to wherever your MX points. Without MX records, replies fail silently.

For Google Workspace, your MX records should be:

PriorityMail server
1ASPMX.L.GOOGLE.COM
5ALT1.ASPMX.L.GOOGLE.COM
5ALT2.ASPMX.L.GOOGLE.COM
10ALT3.ASPMX.L.GOOGLE.COM
10ALT4.ASPMX.L.GOOGLE.COM

If you’re using a dedicated sending subdomain (e.g., outreach.yourdomain.com), set at least one MX record pointing back to your main domain’s mail server so replies have somewhere to land.

DKIM: The Digital Signature That Completes the Picture

DKIM (DomainKeys Identified Mail) isn’t a DNS record you configure manually — it’s generated by your email provider. Google Workspace, for example, generates a DKIM key pair and gives you the public key to add as a TXT record in your DNS.

When you enable DKIM in Google Admin, you’ll see something like:

google._domainkey.yourdomain.com  →  v=DKIM1; k=rsa; p=MIIBIjANBgkq...

The sending server signs each outgoing email with the private key. The receiving server looks up your DNS to get the public key and verifies the signature. If it matches, the email hasn’t been tampered with in transit.

Enabling DKIM in Google Workspace: Admin Console → Apps → Google Workspace → Gmail → Authenticate email → Generate new record → Add to DNS → Start authentication.

The Sending Checklist Before Any Campaign

Before a sending identity goes live on CarcMail, all three of these pass automatically:

  • SPF record present and includes your sending service
  • DMARC record present with at least p=none
  • MX records configured with valid mail servers
  • DKIM enabled and verified in your sending provider
  • Domain age > 30 days (fresh domains always need a warmup period)

Tools to verify: MXToolbox, Google Admin Toolbox, DMARC Analyser.

Why Getting This Right Matters More Than Copy

The most personalized, perfectly-timed cold email gets zero chance if it’s rejected at the infrastructure layer before a human ever reads it. DNS authentication is unsexy but it’s the highest-leverage deliverability work you can do — and it costs nothing but time to configure correctly.

Configure SPF, DMARC, and MX. Enable DKIM. Verify with a third-party tool. Then worry about subject lines.

More from CarcMail

Continue reading

← Back to all posts Launch outreach
Campaign-ready onboarding · Built for serious outbound teams

Ready to Put Your B2B Outbound on Complete Autopilot?

Join thousands of growing businesses using smart pre-send AI optimization.

Set up your sending workflow, invite your team, and scale when you are ready.