So sieht die Meldung aus
dkim=fail (body hash did not verify) header.d=example.com dkim=fail reason="signature verification failed" DKIM-Result: fail (bad signature / body hash mismatch)

Was der Body-Hash ist

Beim Signieren berechnet der sendende Server einen Hash über den Nachrichtentext und legt ihn als bh=-Tag in die DKIM-Signature. Der Empfänger berechnet denselben Hash über den empfangenen Text. Weichen die Werte ab, wurde der Inhalt unterwegs verändert — und die Signatur ist wertlos, unabhängig davon, ob der Schlüssel stimmt.

Zu unterscheiden von „no key for signature“: dort scheitert es am DNS, hier am Inhalt.

Die üblichen Verursacher

  1. Mailinglisten. Der Klassiker. Die Liste hängt eine Fußzeile an oder schreibt [Listenname] in den Betreff — beides zerstört die Signatur zuverlässig. Dafür gibt es ARC, das den ursprünglichen Prüfstand über die Weiterleitung hinweg bezeugt.
  2. Gateways und Security-Appliances. Virenscanner, Disclaimer-Anhänger und DLP-Systeme im Ausgang schreiben Text um. Wenn ein solches Gerät nach dem Signieren eingreift, ist die Signatur hin. Die Reihenfolge muss umgekehrt sein: erst ändern, dann signieren.
  3. Zeilenumbrüche und Encoding. Ein Server, der Zeilen neu umbricht oder das Transfer-Encoding ändert, verändert den Text im Sinne des Hashes — auch wenn er für den Leser gleich aussieht.
  4. l=-Tag. Signiert die Länge nur teilweise, was Anhängsel erlaubt, aber eigene Probleme schafft. Besser nicht verwenden.
  5. Doppelte Signatur. Signieren zwei Systeme nacheinander, kann die erste Signatur durch die Änderungen der zweiten ungültig werden.

Eingrenzen

Die entscheidende Frage lautet: Tritt der Fehler immer auf oder nur auf bestimmten Wegen? Kommt eine direkt zugestellte Mail sauber an und nur die über die Mailingliste nicht, liegt es an der Liste — dein Setup ist in Ordnung. Schlägt schon die direkte Zustellung fehl, liegt der Verursacher in deinem eigenen Ausgang.

Dafür schickst du dieselbe Nachricht einmal direkt und einmal über den verdächtigen Weg an hello@analyzemy.email und vergleichst die beiden Reports: Signaturstatus, signierte Header und die ARC-Kette stehen dort nebeneinander.

Die Ursache in der echten Nachricht finden

Sende oder leite die betroffene E-Mail an hello@analyzemy.email weiter. Der Report zeigt für genau diese Nachricht, welche IP gesendet hat, wie SPF, DKIM und DMARC ausgefallen sind und wo die Kette bricht.

Jetzt E-Mail analysieren

Zuletzt aktualisiert: · Alle Fehlermeldungen