SPF: spf=permerror — Too many DNS lookups (limit is 10)
Your SPF record needs more than 10 DNS lookups to evaluate, so receivers treat SPF as a permanent error and the check fails.
spf=permerror Too many DNS lookupsSPF PermError too many DNS lookupspermerror: too many DNS lookupsspf permerror (limit is 10)Received-SPF: PermError Meaning
SPF allows at most 10 mechanisms that trigger lookups (include, a, mx, ptr, exists, redirect). Each included service adds lookups, often nested. Flatten the record, remove unused services, replace include with ip4/ip6 where IPs are stable, or use a subdomain per service.
Common causes
- Many
include:entries (Google, Microsoft, SendGrid, Mailchimp, CRM…) - Nested includes by those providers
- Use of
mx,aandptrmechanisms - Old services never removed
- Multiple tools each asking you to add an include
⚡ Quick fix
- Count lookups with an SPF checker (dmarcian, MXToolbox)
- Remove unused includes and convert stable ones to ip4/ip6
- Use SPF flattening or separate subdomains per sender
Detailed fix by platform
Linux
dig +short TXT example.com | grep spf1anddig +short TXT _spf.google.comto expand includes by hand
Code examples
A trimmed record
# before: v=spf1 include:_spf.google.com include:sendgrid.net include:servers.mcsv.net include:spf.protection.outlook.com ~all
# after (unused services removed, stable IPs inlined)
example.com. IN TXT "v=spf1 include:_spf.google.com ip4:198.51.100.0/24 -all"How to diagnose
- Lookups — Count above 10?
- Includes — Which are unused?
- Subdomains — Can senders be split?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- 421 4.7.0 Try again later (rate limited) SMTP: 421 4.7.0 Our system has detected an unusual rate of unsolicited mail originating from your IP address. Mail sent from your IP address has been temporarily rate limited
- 550 5.7.25 PTR record required SMTP: 550-5.7.25 The IP address sending this message does not have a PTR record setup, or the corresponding forward DNS entry does not point to the sending IP
- 550 5.7.26 550 5.7.26 This mail has been blocked because the sender is unauthenticated (SPF/DKIM/DMARC)
Most viewed in Email / SMTP
- 550 5.7.1 550 5.7.1 Relaying denied / Message rejected as spam / Unauthenticated email not accepted
- 550 5.1.1 550 5.1.1 The email account that you tried to reach does not exist (User unknown)
- SES: Maximum sending rate exceeded Amazon SES: Throttling — Maximum sending rate exceeded (454 Throttling failure)
Other ways to find it
Where this error sits
Origin: Network. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 4 Nov 2026