auth.spf.missing

SPF Record Missing

What we check

We query DNS for a TXT record beginning with v=spf1 at the domain apex. SPF (Sender Policy Framework) lets a receiving mail server verify that a message came from an IP address the domain owner authorized to send on its behalf.

What this finding means

No SPF record was found at the domain apex. Receivers have no published list of authorized sending IPs, so they cannot use SPF to distinguish your legitimate mail from a forgery.

Why it matters

How to fix

  1. Publish an SPF TXT record at the apex listing your authorized senders and ending in -all (hardfail) or ~all (softfail during rollout):

    example.com.  IN  TXT  "v=spf1 include:your-provider.example -all"
    

    Replace include:your-provider.example with your mail provider's published SPF include (Microsoft 365, Google Workspace, your host, etc.), and add ip4:/ip6: mechanisms for servers you run directly.

  2. Keep it to one record. A domain must publish exactly one v=spf1 record — multiple records are a permanent error at every receiver.

  3. Stay under 10 DNS lookups. Each include, a, mx, ptr, and exists term costs a lookup; exceeding 10 fails SPF outright.

How it's graded

A missing SPF record carries a 30-point deduction in the Authentication category. See Grading Methodology for the full scoring model.

Evidence example

$ dig +short TXT example.com
"v=DKIM1; ..."   (other TXT records present, but no v=spf1 record)

Provider guides

References