Skip to content
Glossary · Authentication

DKIM canonicalization

How a DKIM signer normalizes headers and body before hashing, simple or relaxed for each, set in the c= tag so small changes in transit do not break the signature.

What it means

c= names two algorithms, header then body, such as c=relaxed/relaxed. The default is simple/simple, and a single name sets the header algorithm with simple for the body.

Simple header canonicalization changes nothing, so any rewrapping or case change breaks the signature. Relaxed lowercases header names, unfolds lines, collapses runs of spaces and tabs to one space and trims spaces around the colon and at the end. For the body, simple only drops empty lines at the end; relaxed also ignores trailing whitespace and collapses runs of whitespace within lines.

Relaxed survives the reformatting servers routinely apply, so relaxed/relaxed is the safer choice for most senders. Neither survives real content changes such as an added footer or a rewritten link.

Example

c=relaxed/relaxed

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