What is an SPF record and why does it matter for email deliverability?
SPF stands for Sender Policy Framework. Alongside DKIM and DMARC, it is one of the three industry-standard authentication mechanisms mail providers use to decide whether an outbound message claiming to be from your domain is real or spoofed. You publish it as a TXT record in your domain's DNS. The record lists every IP address or hostname authorized to send mail on your behalf.
How SPF works under the hood
A receiving mail server (Gmail, Outlook, Yahoo, anywhere else) gets an inbound message claiming to be from you@yourdomain.com. It does a DNS lookup for yourdomain.com's SPF record. The record looks like this:
v=spf1 include:_spf.google.com include:sendgrid.net ~allThe receiver checks whether the actual sending IP is in that list (via the includes). If yes, SPF passes. If no, SPF fails. Depending on the receiver's policy and your DMARC setting, the message lands in spam or gets rejected outright.
Why it matters even if your emails look fine
Without SPF, anyone in the world can spoof messages claiming to be from your domain. Gmail and the other major providers have responded by penalizing senders without SPF, including legitimate ones, because they cannot tell legitimate mail from spoofed mail when authentication is missing.
Verification catches invalid addresses before you send. Authentication proves your messages are real. Together they are deliverability layers that complement each other. Doing both is significantly better than doing either one alone.
Quick way to check yours
Valid Email Checker offers a free SPF record checker that reads the current SPF record on your domain and flags issues. It catches things like too many DNS lookups, missing common providers, or syntax errors. If you do not have a record yet, our SPF record generator builds one for you based on the platforms you send through.
Common SPF mistakes
- More than 10 DNS lookups in the includes chain. The SPF spec hard-caps lookups at 10. Exceeding that returns
PermErrorand breaks authentication. - Using `+all` instead of `~all` or `-all`. The
allmodifier defines the fallback.+allsays "anyone can send as me", which defeats the entire purpose. - Multiple SPF records on the same domain. Only one TXT record starting with
v=spf1is allowed. Multiple records cause SPF to fail. - Forgotten third-party senders. Every platform that sends as you needs to be in the include list. That covers your transactional ESP, your marketing ESP, your support helpdesk, your CRM, anything else.
Related questions
Still stuck? Email support
