SPF.Guru

Vendor lookup costs

Microsoft 365 and the SPF lookup limit

1 of 10 lookups

include:spf.protection.outlook.com

One lookup, and it has always been one. Not the cause of your PermError.

include:spf.protection.outlook.com is a flat list of ip4 and ip6 ranges. No nested includes, no regional fan-out, one DNS lookup. It is the cheapest way a platform of that size could publish itself.

It is also the include people delete first when a record is over the limit, because it is the one they recognise. Removing it saves a single lookup and stops authorising every message your organisation sends.

If your record is over ten terms, the cost is somewhere else. A single regional fan-out from a helpdesk or a security gateway routinely costs five to nine on its own.

What to do

Check your own record

These numbers are what the include costs on its own. What matters is the total across your whole record, because the ten term limit applies to the evaluation, not to any one vendor.

Expand spf.protection.outlook.com and you will find nothing nested inside it at all: the record is a flat list of addresses. Its single lookup is the include: that reaches it.

Check your own domain to see what the whole record costs and get a replacement that fits.

Measured, not quoted. 1 lookup for include:spf.protection.outlook.com, evaluated against live DNS on 2026-09-09 with the same engine behind the SPF checker. Vendor records move without announcement, so this is re-checked weekly rather than written down once.

Related