SPF record generator
Pick the services that send email as your domain and get one SPF record to publish. Everything runs in your browser.
yourdomain (host @)v=spf1 include:spf.protection.outlook.com -all
- 1 direct DNS lookup; the includes add their own nested lookups (limit 10 in total). Check the published record with the email domain checker.
Replace any existing v=spf1 record instead of adding a second one.
SPF in four rules
One record per domain
A domain may publish exactly one TXT record starting with v=spf1. Two records make SPF fail for every message, so add new senders to the existing record instead of creating a second one.
The 10-lookup limit
Every include, a, mx, exists and redirect costs a DNS lookup, and so do the includes inside them. Above 10, SPF fails with a permanent error. Large providers such as Google already use 3–4 of the 10, so check the finished record with the email domain checker.
-all or ~all
-all (hard fail) tells receivers to reject mail from servers that are not listed; ~all (soft fail) asks them to accept but mark it. With DMARC at quarantine or reject the difference is small; without DMARC, -all is the stronger choice.
SPF checks the envelope, not the From line
SPF validates the return-path (MAIL FROM) domain, which many bulk senders set to their own domain. That is why DMARC and DKIM matter: DMARC requires SPF or DKIM to align with the visible From domain.
Go further
- Email domain checkerCheck SPF, DKIM and DMARC for any domain in seconds, with what to fix.
- DMARC record generatorAnswer a few questions and get a DMARC record to paste into DNS.
- Microsoft 365 tenant lookupFind the tenant ID behind any domain, its region, cloud and sign-in type.
- All free tools6 no-login helpers for admins
Every domain in your tenant, checked
ConfigCobra's Microsoft 365 inventory lists domains without DKIM / DMARC next to the CIS Microsoft 365 checks, read-only.