Skip to content
Glossary · Authentication

DKIM bh= tag

The required tag in a DKIM signature holding the base64 hash of the canonicalized message body, checked before the signature itself.

What it means

The signer canonicalizes the body (simple or relaxed, per c=), hashes it with SHA-256, and records the result in bh=. The body hash is then covered by the signature in b=, since the DKIM-Signature header is part of what gets signed.

When verifying, a receiver recomputes the body hash first. A mismatch means the body changed after signing: a footer added by a mailing list or security gateway, a line rewrapped, an encoding converted, or a link rewritten. RFC 6376 names this failure "body hash did not verify"; it points to content modified in transit rather than to a key or DNS problem.

An empty body has a fixed hash, and RFC 6376 lists it for each canonicalization.

Example

bh=47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=

On this site

Sources

What this definition rests on. The wording is ours; the facts are theirs.

All 432 terms in the glossaryThe wiki: blocklists and bounce codes

Beat · paid monitoring

A heartbeat for your email.

Beat runs every check on this site on a schedule: 41 checks, 25 blacklists and real inbox placement. The moment something breaks, it tells you what broke, why it matters, and the exact fix.

example.comWatching
  • SPFpass
  • DKIMpass
  • DMARCp=none
  • Blacklists0 of 25

Illustrative. Your domain, every few hours.

Also from us:Pulse: your own sending infrastructureConsulting: $65/hr, no retainer