{"id":18301,"date":"2025-06-16T15:32:00","date_gmt":"2025-06-16T15:32:00","guid":{"rendered":"https:\/\/easydmarc.com\/blog\/?p=18301"},"modified":"2025-08-12T15:09:04","modified_gmt":"2025-08-12T15:09:04","slug":"spf-too-many-dns-lookups-error","status":"publish","type":"post","link":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/","title":{"rendered":"What is SPF PermError? How to Fix SPF Too Many DNS Lookups Errors"},"content":{"rendered":"\n<p>An SPF Permerror (permanent error) is a common issue that occurs during <a href=\"https:\/\/easydmarc.com\/blog\/what-is-an-spf-record\/\">Sender Policy Framework<\/a> (SPF) implementations. It happens for numerous reasons, but the most common is when there are too many SPF record lookups in a DNS. More specifically, an \u2018SPF PermError\u2019 occurs when the number of lookups exceeds the SPF 10 lookup limit, impacting email deliverability and causing mail servers to reject your messages.&nbsp;<\/p>\n\n\n\n<p>Reasons for SPF PermErrors include:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Too Many DNS Lookups<\/strong> \u2013 SPF evaluations allow for no more than 10 DNS lookups.<\/li>\n\n\n\n<li><strong>Syntax errors<\/strong> \u2013 When an <a href=\"https:\/\/easydmarc.com\/blog\/spf-record-syntax-structure-and-components\/\">SPF record has invalid syntax<\/a>, such as missing \u2018v=spf1\u2019.<\/li>\n\n\n\n<li><strong>Multiple SPF Records<\/strong> \u2013 Multiple SPF records on a single domain can result in errors.<\/li>\n\n\n\n<li><strong>Unresolvable Includes<\/strong> \u2013 If one of the include: mechanisms points to a domain with no SPF record or with a DNS error.<\/li>\n\n\n\n<li><strong>Circular Includes<\/strong> \u2013 If the SPF records include each other recursively, it can result in a PermError<\/li>\n\n\n\n<li><strong>Invalid Mechanisms <\/strong>\u2013 Using mechanisms incorrectly, like using \u2018ip4:abc\u2019 instead of a valid IP address.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-16018d1d wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-background-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/easydmarc.com\/contact-us\" style=\"background-color:#3fbdf7\">Request a Demo<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-does-spf-too-many-dns-lookups-mean\">What Does \u2018SPF Too Many DNS Lookups\u2019 Mean?<\/h2>\n\n\n\n<p>If you\u2019re getting an error that reads \u2018SPF too many DNS lookups,\u2019 it means your SPF record triggers more than 10 DNS lookups, which violates SPF specifications defined in the SPF RFC 7208. Receiving email servers will return a \u2018PermError\u2019 and will likely reject or flag your emails as suspicious at best and spam at worst.&nbsp;<\/p>\n\n\n\n<p>Since Domain-based Message Authentication, Reporting, and Conformance (<a href=\"https:\/\/easydmarc.com\/blog\/glossary\/dmarc\/\">DMARC<\/a>) interprets an SPF PermError as a \u2018fail\u2019, email receivers may view such emails as less trustworthy. To reduce this risk, keep the DNS-querying mechanisms and modifiers in your SPF record within the limit of 10. If you\u2019re not sure how to check how many mechanisms or modifiers are in your SPF record, EasyDMARC\u2019s SPF record lookup tool can be used to check records for your domain.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"532\" src=\"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.20.08-1024x532.png\" alt=\"\" class=\"wp-image-48545\" srcset=\"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.20.08-1024x532.png 1024w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.20.08-300x156.png 300w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.20.08-768x399.png 768w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.20.08-1200x623.png 1200w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.20.08.png 1256w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-is-there-an-spf-10-lookup-limit\">Why Is There an SPF 10 Lookup Limit?<\/h2>\n\n\n\n<p>The SPF lookup limit of 10 is needed to protect against threats, such as <a href=\"https:\/\/easydmarc.com\/blog\/12-common-types-of-ddos-attacks-explained\/\">DDoS Attacks<\/a> (Distributed Denial of Service) and spoofing attempts. It aims to decrease the lookup count from the receiver\u2019s side, as DNS lookups consume resources like bandwidth, CPU, and memory. Limiting lookups prevents unreasonable overloading of these resources, which makes receivers less vulnerable to bad actors.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-do-i-fix-spf-too-many-lookups\">How Do I Fix \u2018SPF Too Many Lookups\u2019?<\/h2>\n\n\n\n<p>When creating an SPF record, here are some common practices that allow you to stay within the SPF record limit of 10:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-remove-unnecessary-include-statements\">1. Remove Unnecessary \u2018Include\u2019 Statements<\/h3>\n\n\n\n<p>A DNS lookup is redirected to another domain\u2019s SPF record to check all approved IPs using an \u201cinclude\u201d statement. Each include: counts as one DNS lookup. The SPF evaluation process stops with a PermError if the total lookup count, including all nested include: chains, exceeds 10.<\/p>\n\n\n\n<p>One way to fix an SPF too many included lookups issue is to check each \u2018includes\u2019 statement in your SPF records to check whether they can be substituted in a way that doesn&#8217;t count against the SPF 10 lookup limit. For example, the All, IP4, and IP6 mechanisms, as well as the EXP modifier, do not perform DNS queries during SPF evaluation, making their use exempt from the SPF 10 lookup limit. Reducing includes that are not strictly necessary or ones that can be replaced with these alternative mechanisms is an effective way to avoid SPF PermErrors.&nbsp;<\/p>\n\n\n\n<p><strong>Example<\/strong><\/p>\n\n\n\n<p>In the image below, the record is broken, and the number of total lookups and modifiers should be reduced to fix the SPF too many lookups issue.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"492\" src=\"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.22.10-1024x492.png\" alt=\"\" class=\"wp-image-48549\" srcset=\"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.22.10-1024x492.png 1024w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.22.10-300x144.png 300w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.22.10-768x369.png 768w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.22.10-1200x576.png 1200w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.22.10.png 1254w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><br \/>To return the SPF record lookup correctly, you need to delete unnecessary \u2018include\u2019 statements as shown in the image below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"416\" src=\"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.22.28-1024x416.png\" alt=\"\" class=\"wp-image-48552\" srcset=\"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.22.28-1024x416.png 1024w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.22.28-300x122.png 300w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.22.28-768x312.png 768w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.22.28-1200x488.png 1200w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.22.28.png 1254w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Using EasyDMARC\u2019s <a href=\"https:\/\/easydmarc.com\/tools\/spf-lookup\">SPF record checker<\/a> tool to search for the existence of multiple SPF records in DNS is an effective way to pre-empt SPF permanent errors.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-use-ip4-and-ip6-methods\">2. Use IP4 and IP6 Methods<\/h3>\n\n\n\n<p>In your SPF record, the IP4 and IP6 mechanisms are used to list a static IP set.<\/p>\n\n\n\n<p><strong>Example<\/strong><\/p>\n\n\n\n<p>Here\u2019s an SPF record with include statements.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"506\" src=\"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.25.13-1024x506.png\" alt=\"\" class=\"wp-image-48555\" srcset=\"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.25.13-1024x506.png 1024w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.25.13-300x148.png 300w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.25.13-768x380.png 768w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.25.13-1200x593.png 1200w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.25.13.png 1254w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>In contrast, the SPF record in the image below includes several static IP ranges. The total lookup number decreases by 3 when the include statement is replaced with IP4 mechanisms for a total of 10 SPF record lookups instead of 13.<br \/><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"526\" src=\"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.25.27-1024x526.png\" alt=\"\" class=\"wp-image-48558\" srcset=\"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.25.27-1024x526.png 1024w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.25.27-300x154.png 300w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.25.27-768x394.png 768w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.25.27-1200x616.png 1200w, https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/Screenshot-2025-06-16-at-23.25.27.png 1254w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>If you have several include statements in your SPF record, this substitution will help you minimize the number of DNS lookups.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-remove-mechanisms-belonging-to-the-same-domain\">3. Remove Mechanisms Belonging to the Same Domain<\/h3>\n\n\n\n<p>This SPF record refers to both the baddomain.com and yourdomain.com domains.<\/p>\n\n\n\n<p>The record for baddomain.com already has an include statement for yourdomain.net. As a result, the include:spf.yourdomain.net mechanism is no longer needed and should be removed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-4-delete-all-ptr-mechanisms\">4. Delete All PTR Mechanisms<\/h3>\n\n\n\n<p>The PTR mechanism is a type of DNS record that correlates an IP address with a domain or hostname. The SPF specification does not suggest using the PTR mechanism in the SPF record because it can result in a large number of DNS lookups.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-5-remove-any-invalid-or-unused-domain-references\">5. Remove Any Invalid or Unused Domain References<\/h3>\n\n\n\n<p>Delete any include statements that guide the SPF check to a domain that is no longer sending emails on your behalf, such as partner or vendor domains.<\/p>\n\n\n\n<p>You can also double-check that any domains you use in your SPF record point to an active record. Otherwise, they should be removed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-6-use-an-spf-record-that-has-been-flattened\">6. Use an SPF Record That Has Been Flattened<\/h3>\n\n\n\n<p>Regardless of how many improvements you made to an SPF record, you may not always be able to meet the SPF 10 record lookup limit, but a flattened record can serve as a workaround. Flattened records can also reduce the number of DNS-querying mechanisms and modifiers to just one.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-16018d1d wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-background-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/easydmarc.com\/contact-us\" style=\"background-color:#3fbdf7\">Request a Demo<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-spf-flattening\">SPF Flattening<\/h2>\n\n\n\n<p>The advantage of using SPF flattening techniques is that you can convert a very complex SPF record with over 10 DNS lookups into an IP address list while remaining just as secure.<\/p>\n\n\n\n<p>The disadvantage is that the flattened SPF record loses synchronization with specified IP addresses, resulting in incorrect SPF authentication results if the IP addresses change. This requires you to monitor the IP addresses and manually update your SPF records on a regular basis.<\/p>\n\n\n\n<p>While flattened records can reduce DNS lookups, they require ongoing manual updates whenever an IP address changes. For this reason, we recommend using flattening only as a last resort.<\/p>\n\n\n\n<p>As an alternative, EasyDMARC\u2019s <strong>EasySPF<\/strong> tool dynamically manages your SPF configuration and eliminates the risk of exceeding the 10-DNS-lookup limit. With EasySPF, you only need a single include: in your SPF record. You can then add, remove, or modify authorized email-sending sources through the platform\u2014without worrying about lookup limits or manual updates. This helps prevent SPF PermErrors while maintaining flexibility and deliverability.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-how-to-flatten-an-spf-record\">How to Flatten an SPF Record<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Query your DNS to retrieve the IP addresses for each DNS-querying mechanism and modifier used in the record.<\/li>\n\n\n\n<li>Replace the original mechanisms and modifiers with IP addresses.<\/li>\n\n\n\n<li>The total number of DNS lookups decreases by one every time a mechanism or a modifier is replaced. When both mechanisms and modifiers are removed, the total count drops to one, as only the primary SPF record requires a DNS query.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-spf-permerror-is-common-but-avoidable-with-easydmarc\">SPF PermError is Common, but Avoidable with EasyDMARC<\/h2>\n\n\n\n<p>Addressing SPF PermError is a common aspect of maintaining email deliverability and security for your domain. By using best practices, clever implementation of mechanisms and modifiers, and being aware of your total SPF DNS lookups, you can optimize your SPF record and avoid this common error.&nbsp;<\/p>\n\n\n\n<p>For expert assistance in resolving complex SPF configurations, EasyDMARC\u2019s experienced engineers can help streamline your email authentication process and ensure optimal deliverability.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-16018d1d wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-background-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/uac.easydmarc.com\/realms\/easydmarc\/protocol\/openid-connect\/registrations?client_id=dmarc-app&amp;response_type=code&amp;scope=openid+email&amp;redirect_uri=https%3A%2F%2Fapp.easydmarc.com%2Flogin%2Fcallback&amp;ui_locales=US&amp;state=eyJ1c2VySXAiOiI5MS4xMDMuMjUwLjE2NSIsImdvVXJsIjoiIiwibG9naW5PcHRpb25zIjp7fX0%3D\" style=\"background-color:#3fbdf7\" target=\"_blank\" rel=\"noreferrer noopener\">Start your free trial<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-frequently-asked-questions\">Frequently Asked Questions<\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1750102619836\"><strong class=\"schema-faq-question\">Can SPF exceed 10 lookups?<\/strong> <p class=\"schema-faq-answer\">No, SPF (Sender Policy Framework) should not exceed 10 DNS lookups. This is a strict limit defined by the SPF specification (RFC 7208), and exceeding it can cause SPF failures, even if your SPF record is otherwise valid.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1750102640640\"><strong class=\"schema-faq-question\">Why is there an SPF 10 lookup limit?<\/strong> <p class=\"schema-faq-answer\">Each time an SPF record includes mechanisms like include, exists, redirect, a, mx, or ptr (discouraged),the DNS resolver may need to perform one or more DNS lookups to validate the sender. To avoid performance and security issues, the total number of DNS lookups is capped at 10.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1750102663990\"><strong class=\"schema-faq-question\">Is it okay to have multiple SPF records?<\/strong> <p class=\"schema-faq-answer\">No, it&#8217;s not okay to have multiple SPF records for the same domain.According to SPF specification RFC 7208, a domain must have only one SPF record. If a domain has more than one v=spf1 TXT record, most receiving mail servers will treat this as a PermError. SPF validation will fail and legitimate emails from your domain may be rejected or marked as spam.<br \/><br \/>If you&#8217;re using multiple email services, such as Google Workspace and SendGrid, you need to combine all of their SPF mechanisms into a single SPF record. For example, instead of creating two separate records, you merge them into one like this:<br \/><br \/>v=spf1 include:_spf.google.com include:sendgrid.net ~all<\/p> <\/div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>An SPF Permerror (permanent error) is a common &#8230;<\/p>\n","protected":false},"author":30,"featured_media":48541,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[208,205],"tags":[],"class_list":["post-18301","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-authentication-protocols","category-knowledge-base"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Fix SPF PermError \u2013 SPF Too Many DNS Lookups<\/title>\n<meta name=\"description\" content=\"Learn how to troubleshoot an SPF PermError and how to fix SPF too many DNS lookups errors. Protect users and ensure email deliverability with EasyDMARC.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is SPF PermError? How to Fix SPF Too Many DNS Lookups Errors\" \/>\n<meta property=\"og:description\" content=\"Learn how to troubleshoot an SPF PermError and how to fix SPF too many DNS lookups errors. Protect users and ensure email deliverability with EasyDMARC.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/\" \/>\n<meta property=\"og:site_name\" content=\"EasyDMARC\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/EasyDMARC\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-16T15:32:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-12T15:09:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/What-is-SPF-PermError_.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t<meta property=\"og:image:height\" content=\"910\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sarah Wilson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@easydmarc\" \/>\n<meta name=\"twitter:site\" content=\"@easydmarc\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sarah Wilson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/\"},\"author\":{\"name\":\"Sarah Wilson\",\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/#\\\/schema\\\/person\\\/205f64b37b241d54a61f9b7d16c3c178\"},\"headline\":\"What is SPF PermError? How to Fix SPF Too Many DNS Lookups Errors\",\"datePublished\":\"2025-06-16T15:32:00+00:00\",\"dateModified\":\"2025-08-12T15:09:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/\"},\"wordCount\":1490,\"publisher\":{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/What-is-SPF-PermError_.jpg\",\"articleSection\":[\"Authentication Protocols\",\"Knowledge Base\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#respond\"]}]},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/\",\"url\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/\",\"name\":\"How to Fix SPF PermError \u2013 SPF Too Many DNS Lookups\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/What-is-SPF-PermError_.jpg\",\"datePublished\":\"2025-06-16T15:32:00+00:00\",\"dateModified\":\"2025-08-12T15:09:04+00:00\",\"description\":\"Learn how to troubleshoot an SPF PermError and how to fix SPF too many DNS lookups errors. Protect users and ensure email deliverability with EasyDMARC.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#faq-question-1750102619836\"},{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#faq-question-1750102640640\"},{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#faq-question-1750102663990\"}],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#primaryimage\",\"url\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/What-is-SPF-PermError_.jpg\",\"contentUrl\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/What-is-SPF-PermError_.jpg\",\"width\":1440,\"height\":910,\"caption\":\"image for spf permerror\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/easydmarc.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Knowledge Base\",\"item\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/category\\\/knowledge-base\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Authentication Protocols\",\"item\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/category\\\/knowledge-base\\\/authentication-protocols\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"What is SPF PermError? How to Fix SPF Too Many DNS Lookups Errors\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/\",\"name\":\"EasyDMARC\",\"description\":\"Blog\",\"publisher\":{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/easydmarc.com\\\/#organization\",\"name\":\"EasyDMARC\",\"url\":\"https:\\\/\\\/easydmarc.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/easydmarc.com\\\/img\\\/logo.png\"},\"image\":{\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/EasyDMARC\\\/\",\"https:\\\/\\\/x.com\\\/easydmarc\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/easydmarc\\\/mycompany\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/#\\\/schema\\\/person\\\/205f64b37b241d54a61f9b7d16c3c178\",\"name\":\"Sarah Wilson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d7f2cab4b5083e4305631e460d5603e6d9413f10725c760a4ba644e557bcc7c7?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d7f2cab4b5083e4305631e460d5603e6d9413f10725c760a4ba644e557bcc7c7?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d7f2cab4b5083e4305631e460d5603e6d9413f10725c760a4ba644e557bcc7c7?s=96&r=g\",\"caption\":\"Sarah Wilson\"},\"url\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/author\\\/sarah-wilson\\\/\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#faq-question-1750102619836\",\"position\":1,\"url\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#faq-question-1750102619836\",\"name\":\"Can SPF exceed 10 lookups?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No, SPF (Sender Policy Framework) should not exceed 10 DNS lookups. This is a strict limit defined by the SPF specification (RFC 7208), and exceeding it can cause SPF failures, even if your SPF record is otherwise valid.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#faq-question-1750102640640\",\"position\":2,\"url\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#faq-question-1750102640640\",\"name\":\"Why is there an SPF 10 lookup limit?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Each time an SPF record includes mechanisms like include, exists, redirect, a, mx, or ptr (discouraged),the DNS resolver may need to perform one or more DNS lookups to validate the sender. To avoid performance and security issues, the total number of DNS lookups is capped at 10.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#faq-question-1750102663990\",\"position\":3,\"url\":\"https:\\\/\\\/easydmarc.com\\\/blog\\\/spf-too-many-dns-lookups-error\\\/#faq-question-1750102663990\",\"name\":\"Is it okay to have multiple SPF records?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No, it's not okay to have multiple SPF records for the same domain.According to SPF specification RFC 7208, a domain must have only one SPF record. If a domain has more than one v=spf1 TXT record, most receiving mail servers will treat this as a PermError. SPF validation will fail and legitimate emails from your domain may be rejected or marked as spam.<br\\\/><br\\\/>If you're using multiple email services, such as Google Workspace and SendGrid, you need to combine all of their SPF mechanisms into a single SPF record. For example, instead of creating two separate records, you merge them into one like this:<br\\\/><br\\\/>v=spf1 include:_spf.google.com include:sendgrid.net ~all\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Fix SPF PermError \u2013 SPF Too Many DNS Lookups","description":"Learn how to troubleshoot an SPF PermError and how to fix SPF too many DNS lookups errors. Protect users and ensure email deliverability with EasyDMARC.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/","og_locale":"en_US","og_type":"article","og_title":"What is SPF PermError? How to Fix SPF Too Many DNS Lookups Errors","og_description":"Learn how to troubleshoot an SPF PermError and how to fix SPF too many DNS lookups errors. Protect users and ensure email deliverability with EasyDMARC.","og_url":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/","og_site_name":"EasyDMARC","article_publisher":"https:\/\/www.facebook.com\/EasyDMARC\/","article_published_time":"2025-06-16T15:32:00+00:00","article_modified_time":"2025-08-12T15:09:04+00:00","og_image":[{"width":1440,"height":910,"url":"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/What-is-SPF-PermError_.jpg","type":"image\/jpeg"}],"author":"Sarah Wilson","twitter_card":"summary_large_image","twitter_creator":"@easydmarc","twitter_site":"@easydmarc","twitter_misc":{"Written by":"Sarah Wilson","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#article","isPartOf":{"@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/"},"author":{"name":"Sarah Wilson","@id":"https:\/\/easydmarc.com\/blog\/#\/schema\/person\/205f64b37b241d54a61f9b7d16c3c178"},"headline":"What is SPF PermError? How to Fix SPF Too Many DNS Lookups Errors","datePublished":"2025-06-16T15:32:00+00:00","dateModified":"2025-08-12T15:09:04+00:00","mainEntityOfPage":{"@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/"},"wordCount":1490,"publisher":{"@id":"https:\/\/easydmarc.com\/blog\/#organization"},"image":{"@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#primaryimage"},"thumbnailUrl":"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/What-is-SPF-PermError_.jpg","articleSection":["Authentication Protocols","Knowledge Base"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#respond"]}]},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/","url":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/","name":"How to Fix SPF PermError \u2013 SPF Too Many DNS Lookups","isPartOf":{"@id":"https:\/\/easydmarc.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#primaryimage"},"image":{"@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#primaryimage"},"thumbnailUrl":"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/What-is-SPF-PermError_.jpg","datePublished":"2025-06-16T15:32:00+00:00","dateModified":"2025-08-12T15:09:04+00:00","description":"Learn how to troubleshoot an SPF PermError and how to fix SPF too many DNS lookups errors. Protect users and ensure email deliverability with EasyDMARC.","breadcrumb":{"@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#faq-question-1750102619836"},{"@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#faq-question-1750102640640"},{"@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#faq-question-1750102663990"}],"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#primaryimage","url":"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/What-is-SPF-PermError_.jpg","contentUrl":"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/What-is-SPF-PermError_.jpg","width":1440,"height":910,"caption":"image for spf permerror"},{"@type":"BreadcrumbList","@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/easydmarc.com\/"},{"@type":"ListItem","position":2,"name":"Knowledge Base","item":"https:\/\/easydmarc.com\/blog\/category\/knowledge-base\/"},{"@type":"ListItem","position":3,"name":"Authentication Protocols","item":"https:\/\/easydmarc.com\/blog\/category\/knowledge-base\/authentication-protocols\/"},{"@type":"ListItem","position":4,"name":"What is SPF PermError? How to Fix SPF Too Many DNS Lookups Errors"}]},{"@type":"WebSite","@id":"https:\/\/easydmarc.com\/blog\/#website","url":"https:\/\/easydmarc.com\/blog\/","name":"EasyDMARC","description":"Blog","publisher":{"@id":"https:\/\/easydmarc.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/easydmarc.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/easydmarc.com\/#organization","name":"EasyDMARC","url":"https:\/\/easydmarc.com\/","logo":{"@type":"ImageObject","url":"https:\/\/easydmarc.com\/img\/logo.png"},"image":{"@id":"https:\/\/easydmarc.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/EasyDMARC\/","https:\/\/x.com\/easydmarc","https:\/\/www.linkedin.com\/company\/easydmarc\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/easydmarc.com\/blog\/#\/schema\/person\/205f64b37b241d54a61f9b7d16c3c178","name":"Sarah Wilson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d7f2cab4b5083e4305631e460d5603e6d9413f10725c760a4ba644e557bcc7c7?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d7f2cab4b5083e4305631e460d5603e6d9413f10725c760a4ba644e557bcc7c7?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d7f2cab4b5083e4305631e460d5603e6d9413f10725c760a4ba644e557bcc7c7?s=96&r=g","caption":"Sarah Wilson"},"url":"https:\/\/easydmarc.com\/blog\/author\/sarah-wilson\/"},{"@type":"Question","@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#faq-question-1750102619836","position":1,"url":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#faq-question-1750102619836","name":"Can SPF exceed 10 lookups?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"No, SPF (Sender Policy Framework) should not exceed 10 DNS lookups. This is a strict limit defined by the SPF specification (RFC 7208), and exceeding it can cause SPF failures, even if your SPF record is otherwise valid.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#faq-question-1750102640640","position":2,"url":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#faq-question-1750102640640","name":"Why is there an SPF 10 lookup limit?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Each time an SPF record includes mechanisms like include, exists, redirect, a, mx, or ptr (discouraged),the DNS resolver may need to perform one or more DNS lookups to validate the sender. To avoid performance and security issues, the total number of DNS lookups is capped at 10.","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#faq-question-1750102663990","position":3,"url":"https:\/\/easydmarc.com\/blog\/spf-too-many-dns-lookups-error\/#faq-question-1750102663990","name":"Is it okay to have multiple SPF records?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"No, it's not okay to have multiple SPF records for the same domain.According to SPF specification RFC 7208, a domain must have only one SPF record. If a domain has more than one v=spf1 TXT record, most receiving mail servers will treat this as a PermError. SPF validation will fail and legitimate emails from your domain may be rejected or marked as spam.<br\/><br\/>If you're using multiple email services, such as Google Workspace and SendGrid, you need to combine all of their SPF mechanisms into a single SPF record. For example, instead of creating two separate records, you merge them into one like this:<br\/><br\/>v=spf1 include:_spf.google.com include:sendgrid.net ~all","inLanguage":"en-US"},"inLanguage":"en-US"}]}},"jetpack_featured_media_url":"https:\/\/easydmarc.com\/blog\/wp-content\/uploads\/2024\/11\/What-is-SPF-PermError_.jpg","_links":{"self":[{"href":"https:\/\/easydmarc.com\/blog\/wp-json\/wp\/v2\/posts\/18301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/easydmarc.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/easydmarc.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/easydmarc.com\/blog\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/easydmarc.com\/blog\/wp-json\/wp\/v2\/comments?post=18301"}],"version-history":[{"count":8,"href":"https:\/\/easydmarc.com\/blog\/wp-json\/wp\/v2\/posts\/18301\/revisions"}],"predecessor-version":[{"id":50876,"href":"https:\/\/easydmarc.com\/blog\/wp-json\/wp\/v2\/posts\/18301\/revisions\/50876"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/easydmarc.com\/blog\/wp-json\/wp\/v2\/media\/48541"}],"wp:attachment":[{"href":"https:\/\/easydmarc.com\/blog\/wp-json\/wp\/v2\/media?parent=18301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/easydmarc.com\/blog\/wp-json\/wp\/v2\/categories?post=18301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/easydmarc.com\/blog\/wp-json\/wp\/v2\/tags?post=18301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}