How to use it
- (Optional) Enter your domain and import its current SPF so you do not drop services already in use.
- Tick every service that sends as your domain and add your own server IPs.
- Choose ~all or -all and press “Count lookups” to confirm you are under 10.
- In DNS, replace the single TXT record at @ with the generated value, then verify it with the checker.
What SPF does
SPF (Sender Policy Framework) is a list of authorised sending servers published in a TXT record. A receiver checks whether the connecting IP is on that list and, together with DKIM and DMARC, decides between inbox, spam folder or rejection.
Since 2024 Gmail and Yahoo require every sending domain to have SPF or DKIM, and bulk senders (over 5,000 messages a day) need all three, or mail is throttled or rejected.
The 10-lookup limit
RFC 7208 caps include, a, mx, exists, redirect and ptr at 10 DNS lookups per SPF evaluation, counting nested includes. ip4, ip6 and all are free. Going over gives permerror, which many receivers treat as an SPF failure.
Common fixes: remove services you no longer use, drop unnecessary a and mx, write fixed servers as ip4/ip6, and send marketing mail from a subdomain such as news.example.com with its own SPF.
~all or -all?
With DMARC in place the DMARC policy decides what gets blocked, so ~all and -all behave much the same; ~all is kinder to forwarded mail and is what most providers recommend. Consider -all only once DMARC reports confirm every sender is listed.
Frequently asked questions
Can a domain have two SPF records?
No. Two TXT records starting with v=spf1 make SPF fail with permerror. When you add a service, merge its include into the existing record instead of creating a new one.
What goes in the host field?
Use “@” for the root domain (some panels want it empty) or the subdomain label, e.g. news. Choose type TXT, not the obsolete SPF type.
I have SPF but mail still lands in spam. Why?
SPF only vouches for the server; DMARC also needs the SPF or DKIM domain to align with the From address. Set up DKIM and DMARC too, and check blacklists, content and sending volume.
Does a domain that sends no mail need SPF?
Yes: publish v=spf1 -all plus a DMARC record with p=reject so nobody can use the domain for phishing.