What does “PERMFAIL (body hash did not verify)” mean?
The body of the message changed after it was signed, so the DKIM signature no longer matches.
Last read from the sources at the foot of this page.
PERMFAIL (body hash did not verify)
What does it mean?
DKIM signs a fingerprint of the message body. Any change after signing, even one added line, breaks it.
What exactly does the source say?
If the hash does not match, the Verifier SHOULD ignore the signature and return PERMFAIL (body hash did not verify).
Why would a small firm see it?
A footer or disclaimer added by a separate filter service, a mailing list that edits messages, or a forward that rewrites them.
How do I fix it?
- Look at the message as received and compare it with what was sent.
- Find the service that added the change.
- Have that service sign with your domain after its change, or add the footer before the message is signed.
What else do the sources say?
dkim=<pass|fail (reason)|none> header.d=<domain>
fail (reason): Indicates the DKIM check for the message failed and why. For example, if the message wasn't signed or the signature wasn't verified.
Where does this come from?
- RFC 6376, DomainKeys Identified Mail (DKIM) Signaturesrfc-editor.orgRead 14 October 2026
- Microsoft: Email message headers in Microsoft 365learn.microsoft.comRead 14 October 2026
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.
- We read your firm from outside.
- You see what is open, with the proof for the lead finding.
- If it is worth it, you order.
What happens if you go ahead. More at getleaktrace.com/see-it-first/.
Read the transcript
- 72 hours. One domain. Nothing to install.
- Discover. Every way in, found from outside.
- Validate. Every finding, proven. Dated and checkable by anyone.
- Close. Forged email: one click per step, where we reach your DNS host and you approve it.
- You get the fix for the rest, step by step, and we re-check until it is closed.
- Monitor. On monitoring: email settings, look-alikes and new host names re-checked every hour. Alerts within the hour.
- Every paid assessment is human-verified before release.
- The AI defense layer for businesses. getleaktrace.com/see-it-first/