Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

If an SPF evaluation exceeds 10 DNS-evaluating terms, it must return permerror. The count includes terms reached through recursive include and redirect evaluations—not just the terms visible in your domain’s SPF record. To fix it safely, inspect the complete evaluation path, remove only unnecessary DNS-dependent terms, and confirm that every legitimate sender remains authorized.

What the SPF 10-lookup limit counts

RFC 7208 §4.6.4 limits a complete SPF evaluation to 10 DNS-evaluating terms. The count is global across the root policy and the policies it evaluates recursively. A record with only a few terms can exceed the cap if its included providers’ policies also use counted terms. RFC 7208 §4.6.4

SPF term Counts toward 10? How it affects evaluation
include Yes Evaluates the referenced domain’s SPF policy; that policy may add more counted terms.
a Yes Performs a DNS address lookup.
mx Yes Performs DNS evaluation and is also subject to a separate limit of 10 address records queried per MX record.
ptr Yes Counts, and RFC 7208 says it should not be published.
exists Yes Performs an A lookup for the expanded domain.
redirect Yes Evaluates another SPF policy when the current policy’s mechanisms do not match.
all, ip4, ip6 No Do not cause DNS queries during SPF evaluation.
exp No Its explanation lookup occurs later, not during SPF evaluation.

An include is not simply a statement to accept every message from the named provider. SPF evaluates that provider’s policy and applies the include’s matching behavior. A redirect is not a way around the cap either: it counts when evaluated, and the redirected policy may recurse further. RFC 7208 §5.2 RFC 7208 §6.1

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why an SPF record returns permerror

permerror means SPF evaluation encountered a permanent error; it is not the same result as an ordinary SPF fail. Exceeding the global 10-term limit requires permerror. RFC 7208 states: “If this limit is exceeded, the implementation MUST return “permerror”.” RFC 7208 §4.6.4

#1 Best Overall
TP-Link Deco 7 BE23 Dual-Band BE3600 WiFi 7 Mesh Wi-Fi Router
  • 𝐍𝐞𝐱𝐭-𝐆𝐞𝐧 𝐖𝐢-𝐅𝐢 𝟕 𝐰𝐢𝐭𝐡 𝟒-𝐒𝐭𝐫𝐞𝐚𝐦 𝐃𝐮𝐚𝐥-𝐁𝐚𝐧𝐝 𝐮𝐩 𝐭𝐨 𝟑.𝟔 𝐆?𝐩𝐬 - Designed with the latest Wi-Fi 7 technology, featuring Multi-Link Operation (MLO), Multi-RUs, and 4K-QAM, The Deco 7 BE23 delivers full speeds of up to 2882 Mbps on the 5GHz band, 688 Mbps on the 2.4GHz band with 4 streams and achieve optimized performance on latest WiFi 7 laptops and devices, like the iPhone 16 Pro, and Samsung Galaxy S24 Ultra.
  • 𝐖𝐢𝐝𝐞 𝐂𝐨𝐯𝐞𝐫𝐚𝐠𝐞 𝐰𝐢𝐭𝐡 𝐒𝐭𝐫𝐨𝐧𝐠 𝐂𝐨𝐧𝐧𝐞𝐜𝐭𝐢𝐨𝐧 - Enjoy seamless max Wi-Fi coverage up to 2,500 sq. ft (1-Pack) and 150 devices without compromising performance. 4x high-gain antennas per node and 4x high-power FEMs deliver far-reaching, reliable signals for remote workers, gamers, students, and more.
  • 𝐔𝐥𝐭𝐫𝐚-𝐅𝐚𝐬𝐭 𝟐.𝟓 𝐆𝐛𝐩𝐬 𝐖𝐢𝐫𝐞𝐝 𝐏𝐞𝐫𝐟𝐨𝐫𝐦𝐚𝐧𝐜𝐞 - Each Deco 7 BE23 unit is equipped with two 2.5 Gbps WAN/LAN ports, offering warp-speed connectivity for high-performance wired devices. Integrate with a multi-gig modem for gigplus internet.
  • 𝐎𝐮𝐫 𝐂𝐲𝐛𝐞𝐫𝐬𝐞𝐜𝐮𝐫𝐢𝐭𝐲 𝐂𝐨𝐦𝐦𝐢𝐭𝐦𝐞𝐧𝐭 - TP-Link is a signatory of the U.S. Cybersecurity and Infrastructure Security Agency’s (CISA) Secure-by-Design pledge. This device is designed, built, and maintained, with advanced security as a core requirement.
  • 𝐒𝐭𝐫𝐨𝐧𝐠𝐞𝐫, 𝐌𝐨𝐫𝐞 𝐑𝐞𝐥𝐢𝐚𝐛𝐥𝐞 𝐁𝐚𝐜𝐤𝐡𝐚𝐮𝐥 - The Deco 7 BE23 enhances stability with simultaneous wireless and wired backhaul, leveraging Wi-Fi 7 MLO for stronger, more stable connections.

Other SPF errors have separate rules. Check these independently rather than assuming every permerror is caused by too many lookups.

  • Multiple SPF records: If a domain’s TXT result set contains more than one SPF record, RFC 7208 requires permerror, even if each record appears to use fewer than 10 terms. RFC 7208 §3.2
  • Void lookups: A void lookup is a DNS response with no answers or a name error. SPF implementations should limit these to two; RFC 7208 recommends a default limit of two, and exceeding the configured limit produces permerror. This is distinct from the global term cap. RFC 7208 §4.6.4
  • MX address-record limit: The standard separately limits address records queried to 10 for each MX record. Exceeding that limit also produces permerror; it is not the same as exceeding 10 DNS-evaluating terms. RFC 7208 §4.6.4

How to find which terms are pushing SPF over the limit

  1. Retrieve the domain’s TXT records. Identify the SPF record beginning with v=spf1 and check whether more than one SPF record is published. Multiple records are an independent error condition.
  2. Count the root record’s DNS-evaluating terms. Tally each include, a, mx, ptr, exists, and redirect. Do not add all, ip4, ip6, or exp to the 10-term count.
  3. Follow the evaluation recursively. Inspect every policy reached by an evaluated include and any effective redirect, tallying counted terms across the complete path. A root-record count alone cannot establish the total.
  4. Separate other error checks. If the count is not over 10, investigate duplicate SPF records, void lookups, and the separate per-MX address-record limit instead of treating them as interchangeable.
  5. Map each authorization to a real sender. Determine which systems send mail for the domain and which published terms authorize them before editing. The standard sets the evaluation rules; it does not identify which senders your organization still uses.

How to reduce the count without breaking mail

Remove obsolete or redundant authorization

Start with terms whose corresponding sending system is no longer used, or authorizations that duplicate another valid path. Confirm the sender’s current role with the relevant mail or application owner before removing it. Cutting a legitimate sender solely to get below 10 can cause its messages to stop passing SPF.

Rank #2
pcWRT PW-AX1800 WiFi 6 Dual-Band Router with VLAN Support, OpenVPN/WireGuard/IPsec VPN Client/Server - Compatible with ExpressVPN/SurfShark etc., Parental Controls, Ad Blocking, Gigabit Ethernet
  • VLAN Network Segregation: This router includes five preconfigured VLANs that isolate IoT devices, guest users, and work systems into separate, secure networks. Each LAN port and every WiFi SSID can be assigned to a VLAN, giving you complete control over how traffic flows inside your home.
  • Dual VPN Client and Server Support: The router works as both a VPN client and a VPN server, supporting OpenVPN, IPsec, and WireGuard. You can route selected VLANs through a VPN while keeping others on your regular ISP connection, giving each device group the exact level of privacy it needs.
  • Full WiFi 6 on Both Bands: With dual-band WiFi 6 support, the router delivers modern wireless performance across 2.4GHz b/g/n/ax and 5GHz a/n/ac/ax. It improves capacity, stability, and speed while remaining compatible with older devices, making it ideal for busy homes with many connections. Wi-Fi Mesh is available after firmware update.
  • High-Performance Hardware Architecture: Powered by the IPQ6000 quad-core ARM processor at 1.2GHz, along with 128MB flash, 256MB RAM, and hardware NAT acceleration, the router handles multitasking, streaming, VPN traffic, and VLAN isolation smoothly without slowing your network.
  • Flexible and Powerful Parental Controls: You can use trusted services like OpenDNS, CleanBrowsing, and Cloudflare for filtering, then add custom block lists, allow lists, and schedules. The router includes defenses against common bypass attempts, letting families create rules that match each user. Best of all, it's subscription free!

Avoid publishing ptr

Because ptr counts and RFC 7208 says it should not be published, replace it only after determining which sending infrastructure it was intended to authorize. Use explicit, maintained authorization appropriate to that infrastructure rather than deleting an unverified sender requirement. RFC 7208 §5.5

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Consolidate shared policy only when it preserves behavior

RFC 7208 describes redirect as a way to consolidate policies for domains under shared administration, but it still counts when evaluated. Consolidation can make policy easier to manage; it does not inherently reduce the total number of DNS-evaluating terms or bypass recursive evaluation. Keep the terminal behavior explicit so it is clear how the record handles senders that do not match an earlier mechanism. RFC 7208 §6.1 RFC 7208 §3

Treat flattening as a maintenance choice, not an automatic fix

Replacing provider include terms with copied IP ranges may reduce recursive DNS evaluation, but it creates an obligation to keep those ranges current and preserve the original authorization semantics. Do not copy ranges unless you have a reliable update process and have verified that the resulting policy still authorizes the intended senders. The RFC does not require flattening, and it is not universally safe.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Validate the revised policy

After changing DNS, retrieve the published TXT records again and recheck the root policy and every referenced policy along the evaluation path. Confirm there is one SPF record, that the complete evaluation stays within the applicable limits, and that each legitimate sender remains covered. Recheck after DNS changes have propagated; the timing depends on DNS caching and the authoritative DNS setup, and RFC 7208 does not specify a universal propagation interval.

RFC 7208 advises domain administrators to “keep the amount of DNS information needed to evaluate a record to a minimum.” That means simplifying unnecessary evaluation paths while preserving the authorization the domain actually needs—not merely reducing the visible number of terms in the root record. RFC 7208 §3

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
PUSR USR-TCP232-302 Tiny Size RS232 to TCP IP Converter Serial RS232 to Ethernet Server Module Ethernet Converter Support DHCP/DNS (1)
  • This is a serial RS232 to Ethernet server, used for data transparent transmission. USR-TCP232-302 is a low-cost serial device server,whose function is to realize bidirectional transparent transmission between RS232 and Ethernet. USR-TCP232-302 is internally integrated with TCP/IP protocol. User can apply it to device networking communication.
  • Support DHCP, automatically obtain an IP address and query IP address through serial setting protocol, Support DNS function, Set parameters through webpage, Upgrade firmware via network.
  • Auto-MDI/MDIX, RJ45 port with 10/100Mbps, Serial port baud rate from 600 bps to 230.4 Kbps, Check bit of None, Odd, Even, Mark and Space.
  • Work Mode: TCP Server, TCP Client, UDP Client, UDP Server, HTTPD Client. Support virtual serial port and provide corresponding software USR-VCOM, Heartbeat package mechanism to ensure connection is reliable, put an end to dead link, User-defined registration package mechanism, check connection status and use as custom packet header.
  • Under TCP Server mode, Client number ranges from 1 to 16; default number is 4, The global unique MAC address bought from IEEE, user can define MAC address, Across the gateway, switches, routers, Can work in LAN, also can work in the Internet (external network).

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.