SPF authenticates the envelope sender by checking if the sending IP is authorized in DNS.
Every SPF record must begin with v=spf1.
Mechanisms and DNS lookup impact:
| Mechanism | Counts toward 10-lookup limit? |
|---|---|
ip4 / ip6 |
❌ No |
a |
✅ Yes |
mx |
✅ Yes |
include |
✅ Yes |
exists |
✅ Yes |
redirect |
✅ Yes |
all |
❌ No |
The 10 DNS lookup limit is the most common SPF misconfiguration. Exceeding it returns PermError, which DMARC treats as a fail.
Common SPF mistakes:
- ❌ Multiple SPF records on one domain (causes PermError)
- ❌ Using
+allor?all(authorizes everyone) - ❌ Stale
includestatements for old services - ❌ Not ending with
-allor~all
Sign in to keep track of what you have read.