Suped

How to fix DKIM body hash mismatch failures

Matthew Whittaker profile picture

Matthew Whittaker

11 Jun 2025

Knowledge
body hash mismatch failure

I've recently began to see a pattern where many of my clients struggle with DKIM. They seemingly follow all the right steps, but along the way one tiny mistake or configuration change and they get swamped with failure reports.

One particularly nasty error I've been seeing more of is a DKIM hash mismatch. This can be very hard to track down because it basically means you set up DKIM correctly in your DNS records and email system, but some unknown system came along and messed up your email.

A typical, illustrative, culprit is the "automatic email signature plugin". If you install a plugin like this and it modifies your email after it has been signed by your email system, then suddenly DKIM alarms start going off. After all, the purpose of DKIM is to prevent email tampering, and the email signature plugin's whole purpose is essentially to tamper with your emails.

Let me take you through the stages of identifying, diagnosing and fixing this tricky DKIM issue.

How to identify a DKIM hash mismatch

Simply use the Suped email tester. If it detects a DKIM failure, then click on the DKIM row to see if it was caused by a body hash mismatch.

Common causes for a hash mismatch

Any modification to the email body after it is signed by the sender will cause a mismatch.

portable text image

The most common causes are:

  • Mailing list software: Appending footers with unsubscribe links or other information.
  • Email security gateways: Adding footers like "This email has been scanned for viruses."
  • Automatic forwarding: Forwarding servers can sometimes re-encode or slightly alter email content.
  • Content disarming & reconstruction (CDR): Security systems that rebuild emails to neutralize threats will change the content and break the hash.
  • Incorrect canonicalization: Using the overly strict simple canonicalization mode in the DKIM signature makes it fail from minor changes, like whitespace modification.

How to fix

It can be hard to track down the exact cause of the mismatch, but it is typically caused either by your email sending system's configuration or if you send your emails through a security relay it could be that.

Email sending systems will not have this issue by default, so it is typically caused by third-party plugins.

portable text image

Recommended steps to fix:

  • Complete a Suped email test to confirm the DKIM body hash mismatch
  • If your email sending system allows you to view the raw source of the sent email, get the source and compare it with the Full source from the Suped email test by copying and pasting into a text diff checker. This can allow you to see exactly what part of the email caused the failure.
  • Disable any plugins in your email sending system, e.g plugins that add signatures/unsubscribe links, then run another Suped email test.
  • Disable any security gateways or email forwarding services that may be altering the content, then run another Suped email test.
  • Ensure your email sending system is configured to use a "relaxed canonicalization" setting for DKIM signatures. This is often the default, but it is worth checking.
  • If you have confirmed the issue is a body hash mismatch and are still stuck, then reach out to your email provider for support. It could be an issue on their end.

Still stuck?

I hope those steps helped but unfortunately, due to the tricky nature of this problem, they aren't bulletproof.

If you're still stuck, I'm always happy to help out people struggling with email deliverability, so just shoot a message through to contact@suped.com if you'd like some free advice.

Start improving your email deliverability today

Sign up