SPF has a mandated limit of 10 DNS lookups. Any time you need a name that is referenced in an SPF record, a lookup is required. It doesn’t matter how the name is referenced in the record. It could be the inclusion of the self-referential “a” mechanism (a
), an explicit reference (a:example.com
), or even the “mx” mechanism (mx
). Include statements also result in DNS lookups (include:_spf.example.org
). The include statements add their contents to your record, and each lookup in those statements counts toward your limit of 10 lookups. Multiple nested include statements are an easy way to find yourself beyond the 10 lookup limit.
The dmarcian website has a tool that will let you see what your SPF record is actually doing. You can use that information to determine why you are exceeding the 10 lookup limit, and hopefully you can figure out alternatives that get you under that limit. You can get further help on SPF, DKIM, and DMARC ath the dmarcian community forum, should you require it.