Skip to content

SPF record checker

Make sure receivers can evaluate your SPF record and that it does not silently fail with a permanent error.

Anonymous checks are limited to 10 per minute and 60 per hour per address. Results are cached for 60 seconds and not published anywhere.

How it measures

  • TXT records are fetched through a public resolver; exactly one record starting with v=spf1 must exist (RFC 7208).
  • include: and redirect= targets are followed with the same 10-lookup budget receivers apply; a, mx, ptr and exists terms count one lookup each.
  • Included domains without an SPF record are counted as void lookups (limit 2).

Limits

  • Address lookups of MX hosts, which RFC 7208 limits separately, are not counted.
  • Macro expansion (%{i} and friends) is not evaluated; terms containing macros are counted but not resolved.
  • Whether a specific sending address passes is not evaluated; this is a record review, not a message test.

Troubleshooting

Too many DNS lookups
Flatten rarely changing includes into ip4/ip6 terms, remove unused vendors, or use a managed SPF flattening service.
Multiple records
Merge them into one v=spf1 record; two records are a permanent error for every receiver.

Related tools