Two SPF checkers can disagree because they measure different things. A syntax check, a map of referenced policies and a test of one sending IP are different checks. DNS timing can also change the answers available. Compare the inputs and the meaning of the result before treating either score as definitive.
A green result from one tool and a warning from another do not necessarily mean one is broken. First check whether they were asked the same question.
Valid text is different from an authorised sender
A syntax validator checks whether SPF text is well formed. A policy tester can evaluate whether a particular sending IP is authorised. Vamsoft publishes separate tools for those tasks, with its policy tester accepting sender information.
This constructed record makes the difference clear:
v=spf1 ip4:192.0.2.10 -all
It is valid SPF syntax. Under those stated terms, a message from 192.0.2.20 does not pass. Both addresses are reserved for documentation; this is an example, not a tested customer record.
A syntax pass cannot establish whether the business has included all its real senders.
A dependency map is different from a message evaluation
SPF evaluation proceeds through terms in order and can stop at a match. One sending IP can match early; another can reach several nested includes.
A tool that counts potential lookup-causing terms throughout a policy's branches can therefore display a larger number than an evaluator reaches for a particular message. The ten-term limit applies during evaluation. A graph total needs to be labelled as such.
Our worked lookup example shows how one policy produces different counts for different senders.
DNS observations can differ too
Cached answers, a recent change or a temporary lookup failure can give tools different data. An error retrieving a record is not the same observation as successfully retrieving a record that contains an error.
Compare the domain, sending IP where applicable, time of the check and detailed output. If those agree and the results still conflict, one tool may have a limitation or a bug. A more reassuring badge is not a reason to prefer it.
What Emailmetry's checker actually checks
The free Emailmetry SPF checker inspects public TXT policies and selected dependencies within bounded query and traversal limits. It does not perform a complete RFC SPF evaluation for a supplied message.
It does not resolve the sending-address sets behind a and mx, establish the business's sender inventory, or check DKIM, DMARC or inbox placement. Macro-based policies can also need sender context it does not have.
Use the result as evidence about the DNS inspection it performed. A delivery question still needs evidence from the affected sending application and message.
Sources and further reading
Sources reviewed 8 September 2026. Our editorial standards.