dmarcful

SPF Record Checker

Validate a domain's SPF record, expand every include and see how close it is to the 10-DNS-lookup limit.

Free, no account needed.

What this check looks at

Fixing "too many DNS lookups"

Each include counts, and includes inside includes count too. Remove services you no longer use, replace includes with the ip4:/ip6: ranges a provider publishes when they are stable, and move bulk senders to a subdomain with its own SPF record.

SPF and DMARC

SPF checks the envelope sender (Return-Path), not the From address people see. For DMARC, SPF only counts when that envelope domain matches your From domain. Many email services use their own Return-Path unless you set up a custom one, which is why DKIM is usually the more reliable way to pass DMARC.

Frequently asked questions

Can a domain have two SPF records?

No. Two v=spf1 records make SPF fail with a permanent error. Merge them into one record.

Should I use -all or ~all?

Use ~all while you are still finding all of your senders, then -all once you are confident. With DMARC at p=reject, the practical difference is small because DMARC decides what happens.

Do ip4 and ip6 mechanisms count toward the limit?

No. Only mechanisms that need a DNS lookup count: include, a, mx, ptr, exists and redirect.

Related tools