No SPF Record: What It Means and How to Fix It
Your domain publishes no SPF record, so receiving mail servers have no way to know which servers are allowed to send email as you. That gap makes your domain easier to spoof. This guide explains what an SPF record does and walks you through publishing one safely.
One free scan, no login. This check runs alongside DNS, email, TLS, headers, exposed files and known CVEs.
What an SPF record is
SPF stands for Sender Policy Framework. It is a single DNS record that lists every server allowed to send email using your domain name. When another mail server receives a message claiming to be from you, it looks up your SPF record and checks whether the sending server is on your approved list. If your domain has no SPF record at all, receiving servers have nothing to check against, which is the gap BadgerScan flagged in the outside view of your domain.
The record itself is a TXT record published at the root of your domain. It always starts with v=spf1 and then lists your senders, for example v=spf1 include:_spf.google.com ip4:203.0.113.5 -all. Each entry names a mail source: an include: for a service like your mail host or newsletter tool, or an ip4: or ip6: for a specific server address. For a plain-language overview, see Cloudflare, What is an SPF record?.
The record must be published as a DNS TXT record, and you should publish only one SPF record for the domain. The full specification is set out in RFC 7208, Sender Policy Framework (SPF).
Why it is worth fixing
Without an SPF record, nothing stops someone from sending email that appears to come from your domain. Receiving servers cannot tell a real message from a forged one, so spoofed invoices, fake staff emails, and phishing sent in your name are more likely to reach inboxes instead of being rejected.
Publishing an SPF record also helps your own legitimate email. Many providers treat a domain with a clean, well-formed SPF record as more trustworthy, so your real messages are more likely to be delivered rather than sorted into spam. It is a small, one-time DNS change that quietly improves both your security and your deliverability.
How to fix it, step by step
You fix this by publishing one TXT record at your domain root that lists every service that sends mail as you. Take a few minutes first to write down each sender: your mail host, any newsletter or marketing tool, your CRM, and any invoicing or support system that emails on your behalf. Then build and publish a single record.
- Make a list of every service that sends email as your domain, for example Google Workspace or Microsoft 365, your newsletter platform, your CRM, and your invoicing tool.
- Turn each one into an SPF entry: use the
include:value your provider documents (for exampleinclude:_spf.google.com), or anip4:orip6:entry for a server you control such asip4:203.0.113.5. - Assemble them into a single record that starts with
v=spf1, for examplev=spf1 include:_spf.google.com ip4:203.0.113.5 -all. - End the record with
~all(soft fail) as a safe interim while you confirm you have listed every sender, then switch it to-all(hard fail) once you are confident, so receivers reject unlisted senders. - In your DNS provider, add one
TXTrecord at the domain root (host@) with that value, keep it under the 10 DNS-lookup limit, and make sure you publish only one SPF record.
The one thing to remember: SPF is not the whole job
SPF on its own is not enough to stop spoofing. It only says which servers may send for you. It does not sign your messages or tell receivers what to do when a check fails. Pair it with DKIM, which cryptographically signs your mail, and DMARC, which tells receiving servers how to handle messages that fail these checks and sends you reports.
One practical caution: do not jump straight to -all before you are sure every sender is in the record. If you miss a service, a hard fail can cause your own legitimate email to be rejected. Start at ~all, watch your mail flow, then tighten to -all. You can confirm your record with the SPF and DMARC checker or by running the free scan again.
Check your SPF record in under a minute
See exactly what is publicly visible about your domain's email setup. Run the free BadgerScan scan to confirm whether your SPF record is present and correct, alongside your DMARC, DNS, and security headers. No login required. Start your free scan at the BadgerScan homepage.
Run a free security scanFrequently asked questions
Can I have more than one SPF record?
No. Publish only one SPF record per domain. If you use several email services, combine them into a single TXT record using multiple include: and ip4: entries. Two separate SPF records cause SPF to fail entirely, as set out in RFC 7208.
Should I use -all or ~all?
Use ~all (soft fail) at first while you confirm you have listed every legitimate sender, since it flags unlisted mail without outright rejecting it. Once you are confident the record is complete, switch to -all (hard fail) so receivers reject anything not on your list.
What is the 10-lookup limit?
SPF allows at most 10 DNS lookups when a receiving server evaluates your record, and mechanisms like include: count toward it. Keep your record lean so you stay under the limit, otherwise SPF checks can fail even when your record looks correct.
How do I check whether my SPF record is now working?
After you publish the TXT record, give DNS a little time to update, then re-run the free BadgerScan scan or use the SPF and DMARC checker to confirm the record is found and formatted correctly.
Sources
More from CyberBadger
BadgerScan is the website side of what we do. We're one local Hamilton and Burlington team for your whole setup, on-site nearby and remote across Canada.
Coming soon: BadgerAudit. A full, on-site cybersecurity audit, interviews, hands-on review, and a detailed report, for when a self-serve scan isn't enough. Ask us about it.