Can I have two SPF records on one domain?
No. A domain must publish exactly one TXT record starting with v=spf1. When two exist, receivers cannot determine which to evaluate and the result is a permanent error under RFC 7208. To authorize several senders, merge their mechanisms into a single record.
What happens after 10 DNS lookups?
RFC 7208 limits evaluation to 10 mechanisms and modifiers that trigger DNS lookups, counted recursively across every include, a, mx, ptr, exists, and redirect in the tree. Exceeding the limit produces a PermError, which receivers treat like a failed check and which can sink DMARC for that message. Shrink the tree: remove unused vendors, prefer ip4/ip6 terms for your own infrastructure, keep nesting shallow.
Does SPF pass mean DMARC passes?
No. DMARC requires SPF or DKIM to pass with a domain that aligns with the visible From domain. SPF passes on the Return-Path domain, so if that differs from the From domain, DMARC still fails on the SPF side. See the worked pass-but-not-aligned case at /examples/spf-dkim-dmarc-diagnosis.
Should I use -all or ~all?
Use ~all (softfail) while you are still discovering every legitimate sender, because unauthorized mail is marked but usually still accepted. Move to -all (fail) once the record is stable and DMARC reports show your real streams passing. Avoid +all and ?all entirely: +all authorizes everyone, and ?all tells receivers you have no policy.
Does SPF flattening break when ESPs change IPs?
Yes. Flattening replaces includes with the IP ranges they currently resolve to, so the record stops doing DNS lookups but also stops tracking the provider. When the provider moves sending IPs, the flattened record is wrong until someone edits it, and legitimate mail starts failing. Flatten only stable ranges and monitor for changes, or keep the include and spend the lookups.
Why does SPF fail on forwarded mail?
SPF evaluates the IP of the server that connects to the receiver. A forwarder resends your message from its own IP, which your record does not authorize, so SPF fails even though nothing is wrong with your setup. This is inherent to the protocol and the reason DKIM, which survives forwarding, carries most of the weight for DMARC on forwarded paths.
Does this SPF checker store or probe anything?
No. The tool runs live DNS queries and shows the published answer with its limitations and a link to RFC 7208. It requires no login, opens no SMTP connection, probes no mailbox, and does not retain the domain you submit. It reports DNS evidence only; it does not promise delivery, alignment, or inbox placement.