Die Header-Kanonisierung simple ändert nichts; relaxed schreibt Header-Namen klein, hebt die Faltung von Fortsetzungszeilen auf, fasst Folgen von Whitespace zu einem Leerzeichen zusammen und entfernt Whitespace am Zeilenende und um den Doppelpunkt. Die Body-Kanonisierung simple entfernt nur leere Zeilen am Ende (ein leerer Body wird zu einem einzelnen CRLF); relaxed ignoriert zusätzlich Whitespace am Ende jeder Zeile und fasst Whitespace-Folgen zusammen. Standard ist simple/simple; die meisten Signierer verwenden c=relaxed/relaxed.
Abweichungen beim Body-Hash (body hash did not verify) bedeuten meist, dass etwas den Body nach dem Signieren umgeschrieben hat: eine angehängte Fußzeile, eine Umwandlung der Zeilenenden, eine Neukodierung von Teilen in Quoted-Printable oder base64 oder ein nachträglicher Zeilenumbruch. Fehlgeschlagene Prüfungen der Header-Signatur entstehen oft dadurch, dass Gateways Header umsortieren oder neu falten; relaxed toleriert das, simple nicht. Der DKIM-Debugger zeigt die kanonisierten Bytes, über die er den Hash gebildet hat.