Glossary
EMAIL AUTH

Received-SPF

An email header inserted by receiving mail servers recording the SPF check verdict. First stop when debugging SPF failures.

Received-SPF is an email header inserted by the receiving mail server recording the SPF check verdict for the message. It’s the first line of evidence when debugging a delivery failure — showing exactly why SPF passed, softfailed, or failed.

Header Format

Received-SPF: pass (google.com: domain of bounces@example.com designates 203.0.113.42
              as permitted sender) client-ip=203.0.113.42;

SPF Verdicts

ResultMeaning
passSending IP is in the SPF record — authorized
failSending IP is not in SPF, policy is -all — hard reject
softfailSending IP is not in SPF, policy is ~all — flag but deliver
neutralPolicy explicitly gives no verdict (?all)
noneNo SPF record at the domain
temperrorDNS lookup failure — try again
permerrorSPF syntax error, too many DNS lookups, or two SPF records

What to Do With Each

  • pass — authentication succeeded, continue investigating other failure modes (DKIM, DMARC alignment)
  • softfail — mail probably going to spam folder; tighten to -all after verifying no legitimate senders miss
  • fail — SPF is actively rejecting; add the sending source or fix include: chain
  • permerror — SPF is broken structurally; count DNS lookups (limit 10), check for multiple TXT records, validate syntax

Modern Header

Many receivers now use Authentication-Results: (RFC 8601) instead of Received-SPF — same information, unified format across SPF/DKIM/DMARC.

Debug SPF verdicts and fix errors with the email authentication checker and the SPF failure fix guide.

Check the SPF glossary entry, the MAIL FROM entry, and read what an SPF record is.