What an SPF record is
SPF (Sender Policy Framework, RFC 7208) is a TXT record at the root of your domain that lists the servers allowed to send mail for it. A receiving server looks up the record, checks whether the connecting IP is listed and gets a result: pass, fail, softfail, neutral or an error.
A record looks like v=spf1 include:_spf.google.com include:sendgrid.net ~all. It starts with v=spf1, lists mechanisms such as ip4:, include:, a and mx, and ends with an all rule for everything else.
The 10 DNS lookup limit
Each include, a, mx, ptr, exists and redirect costs one DNS lookup, and includes inside includes count too. RFC 7208 caps the total at 10. Go over and receivers return PermError, which most treat as an SPF fail for every message you send. It is a very common SPF problem, because every new tool (CRM, help desk, newsletter, outreach platform) asks you to add another include.
This checker walks the whole tree and shows the count. ip4: and ip6: do not cost lookups, so listing rarely-changing ranges directly is one way to get under the limit.
~all, -all, ?all and +all
~all (softfail) marks unlisted senders as suspicious and is the usual choice. -all (fail) is stricter and safe once every sender is listed. ?all is neutral and gives no protection. +all authorises the whole internet to send as you, so fix it immediately. With DMARC in place, ~all and -all behave much the same in practice.
Other errors this tool flags
- Two SPF records: a domain may have only one. Two cause PermError. Merge them.
- Void lookups: includes that return nothing. More than two is an error.
- ptr: deprecated and slow; remove it.
- Duplicate includes: waste lookups.
- Unknown terms: typos like
inlcude:break the record.
SPF for outreach mailboxes
If you send pitches from Google Workspace or Microsoft 365, the provider include is usually all you need. Pink Post sends through your own mailbox, so you do not add an include for Pink Post itself. Check SPF on every domain you send from, including any secondary domains you set up to protect your main brand.