Mail errors · SPF, DKIM and DMARC results

What does “spf=permerror” mean?

Your SPF record could not be read, so it protects nothing.

Last read from the sources at the foot of this page.

Message header
Authentication-Results

spf=permerror

As the standard prints it.
01

What does it mean?

PermError is a permanent error: every message gets the same result until the record is fixed. For DMARC it does not count as an SPF pass.

02

What exactly does the source say?

permerror: A permanent error occurred. For example, the domain has a badly formatted SPF record.

03

Why would a small firm see it?

A second SPF record added for a new service, an include for every tool the firm ever tried, or an include that points at a name that no longer exists.

04

How do I fix it?

  1. Look up the TXT records at your domain.Count the ones that start v=spf1: there must be one.
  2. If there are two, put every service from both into one record, then delete the other.
  3. Check the record again after the change.

Keep one SPF record. Add the service inside the one record you have, before its last word, and keep every service already in it. A second SPF record makes the check fail for every message.

An SPF record may make at most 10 DNS lookups. Each include counts, and so do the includes inside it. Past 10 the check fails, so take out services you no longer use before adding a new one.

05

What else do the sources say?

spf=<pass (IP address)|fail (IP address)|softfail (reason)|neutral|none|temperror|permerror> smtp.mailfrom=<domain>

A "permerror" result means the domain's published records could not be correctly interpreted.

SPF implementations MUST limit the total number of those terms to 10 during SPF evaluation, to avoid unreasonable load on the DNS. If this limit is exceeded, the implementation MUST return "permerror".

If the resultant record set includes more than one record, check_host() produces the "permerror" result.

SPF implementations SHOULD limit "void lookups" to two. An implementation MAY choose to make such a limit configurable. In this case, a default of two is RECOMMENDED. Exceeding the limit produces a "permerror" result.

Sources

Where does this come from?

Related
07 · Check my firm

See what is open before anyone else does.

We read from outside, find each way in first, and show it with a check anyone can re-run. No access, nothing tested, no obligation.

What we readPublic sources only
Who sees itYou alone
Delivery72 hours from confirmation
Meeting firstNone
Reading requestPrivate
Problem: Enter your firm's name.
Problem: Enter your name.
Problem: Enter a full address, like [email protected].
Problem: That does not look like a website. Try yourdomain.com.

A person reads every request. Your outside reading comes by email within 72 hours from [email protected]. Privacy