Outreach
LinkedIn Outreach Email Outreach WhatsApp Automation Dialer Unified Inbox CRM / Pipeline
Data
Signals Lead Finder Email Finder Phone Finder Company Follower
Deliverability
Mailboundry Email Infrastructure (Google, Microsoft & Azure) Email Warmup Inbox Placement Test
AI & Automation
AI Personalization AI Reply Agent ICP Score
Built For
Founders Agencies Sales Teams B2B SaaS
Use Cases
LinkedIn Outreach Cold Email Outreach Multichannel Outreach Signal-Based Outreach Outbound Sales Lead Generation Account-Based Outreach Appointment Setting Recruiting Outreach Link Building & PR Outreach
Resources
Free Tools Help Center API & Webhooks Roadmap Blog Affiliate Pricing Log in Book a demo Start free trial
BlogDeliverabilityDeliverability

How to Check Your SPF Record (and Fix What Is Wrong)

How to check an SPF record for a sending domain, what the ten-lookup limit does, why two SPF records break authentication entirely, and how to fix each failure.

RARavi KewatSeptember 10, 2026
← All articles

SPF is a DNS record listing who is allowed to send email as your domain. It is the easiest of the three authentication records to publish and the easiest to break, because the ways it breaks do not look like errors: the record is present, the syntax is valid, and authentication still fails.

SPF Record Checker

Look up any domain’s SPF record, count its DNS lookups, and see which sending sources are authorised.

Open the tool

What to look at, in order

Check What good looks like
Record exists Exactly one TXT record starting v=spf1
Number of records One. Two SPF records is a permanent failure, not a merge
DNS lookups Ten or fewer. Eleven means every message fails SPF
Every sender included Your mailbox provider, your sequencer, your ESP, your invoicing and support tools
Ending mechanism ~all (softfail) or -all (hardfail). Never +all

The three failures that actually happen

Two SPF records. Almost always because a new tool’s setup guide said “add this TXT record” and someone did, alongside the existing one. The specification allows exactly one; two produces a permanent error and SPF fails for every message. The fix is to merge the include: mechanisms into a single record, not to pick one.

Too many DNS lookups. Each include, a, mx and redirect costs a lookup, and includes nest: one provider’s include can consume four on its own. Past ten, evaluation stops and returns a failure. This is the most common silent SPF break in a stack that has grown, because nothing changes at your end: you add a tenth tool and yesterday’s working record stops working. Fix by removing includes for services you no longer use, dropping a and mx mechanisms you do not need, and using flattening only as a last resort. A flattened record goes stale when a provider changes IPs.

A missing sender. Your cold email platform authenticates, but your CRM’s notification emails or your invoicing tool do not, so some of your mail fails and the domain’s aggregate reputation suffers. List everything that sends as your domain, not just the outbound stack.

What SPF does not do

Two things worth being clear about. SPF checks the envelope sender, not the From address a recipient sees, which is why it cannot stop display-name spoofing on its own, that is DMARC’s job with DKIM. And a passing SPF record does not make cold email land: authentication is a floor, not a lever. How all three records fit together.

Hardfail or softfail

~all tells receivers to treat unauthorised mail with suspicion; -all tells them to reject it. For a cold email sending domain, -all is the stronger signal and the right end state, but only once you are certain every sender is listed, because anything you forgot will be rejected outright. Publish ~all, watch for a fortnight, then tighten.

Per-domain, every time. If you send from 12 lookalike domains, each needs its own correct record. This is where bulk DNS management stops being a convenience and starts being the thing that prevents a silent failure across an estate. Managing records across many domains.

Next: checking DKIM, checking DMARC, or grading all four records at once.

Frequently asked questions

How do I check my SPF record?

Look up the TXT records for your domain and find the one starting v=spf1. Confirm there is exactly one, that it consumes ten or fewer DNS lookups, that every service sending as your domain is included, and that it ends in ~all or -all.

Can I have two SPF records?

No. The specification allows exactly one, and two produces a permanent error that fails SPF for every message. Merge the include mechanisms into a single record rather than choosing between them.

What is the SPF ten-lookup limit?

Each include, a, mx and redirect mechanism costs a DNS lookup, and includes nest. Past ten lookups, evaluation stops and returns a failure, which is why adding a tenth tool can silently break a record that worked yesterday.

Should SPF end in ~all or -all?

-all is the stronger end state for a cold email domain, but only once every sender is listed, because anything you forgot gets rejected. Publish ~all, monitor for two weeks, then tighten.

Does a passing SPF record improve deliverability?

It removes a reason to be filtered rather than adding a reason to be delivered. Authentication is a floor, not a lever.

Ready to run outbound on autopilot?

Start free trial