Your SPF record exceeds the 255-character limit for a single DNS TXT string. While DNS TXT records can contain multiple strings that are concatenated, some older resolvers may not handle this correctly.
Split the SPF record into multiple strings within a single TXT record, or flatten includes.
A single DNS TXT string has a 255-character maximum. SPF records longer than this must be split into multiple strings within one TXT record. Most modern DNS resolvers concatenate these strings automatically, but issues can occur.
If the record is not properly split, some DNS resolvers may truncate it, causing SPF evaluation to fail with a PermError. An overly long SPF record also often indicates too many includes, which may push you past the 10-lookup limit.
Retrieve the record and count characters.
dig +short TXT yourdomain.com | grep "v=spf1"If your DNS provider supports it, split the value into multiple quoted strings within one TXT record.
v=spf1 include:_spf.google.com include:sendgrid.net include:spf.protection.outlook.com include:mail.zendesk.com include:amazonses.com ip4:203.0.113.0/24 ip4:198.51.100.0/24 -all"v=spf1 include:_spf.google.com include:sendgrid.net include:spf.protection.outlook.com " "include:mail.zendesk.com include:amazonses.com ip4:203.0.113.0/24 ip4:198.51.100.0/24 -all"The better long-term solution is to reduce the record length by replacing includes with ip4/ip6 mechanisms where the IP ranges are stable.
v=spf1 include:_spf.google.com include:sendgrid.net include:spf.protection.outlook.com include:mail.zendesk.com include:amazonses.com -allv=spf1 include:_spf.google.com include:sendgrid.net include:amazonses.com -allAfter making changes, use our free scanner to verify the fix is working correctly. DNS changes can take up to 48 hours to propagate, but most propagate within minutes.
A single DNS TXT string is limited to 255 characters. However, a TXT record can contain multiple strings that are concatenated, so the practical limit is much higher. The real concern is the 10-lookup limit.
In your DNS provider, the value would look like: "v=spf1 include:_spf.google.com ..." "include:other.com -all" — two quoted strings within a single TXT record.
Modern DNS resolvers handle multi-string TXT records correctly. Very old or misconfigured resolvers might not concatenate them properly, but this is rare and fully compliant with DNS standards.