<domain>
Adds a field with the moment of its creation to the signature. The default is not to add it.
The field by itself decides nothing. The receiver does not reject a signature by it: the expiry is set by another line, dkim-expire-after. The timestamp is information, not a rule.
The benefit is in investigations. Having received a complaint about a month-old message, the timestamp shows when the node signed it: a big gap between signing and receipt gives away a re-sent copy. Without the timestamp only the Date header remains — and it is set by the submitting side by its own clock, and the node does not vouch for it.
Enabling it is fine and almost free. One field in the signature, no consequences for verification.
Together with an expiry it makes sense. The timestamp says when, the expiry says until when; separately the second is more useful.
Do not confuse it with the Date header. That one is set by the submitting side by its own clock; the timestamp is set by the node itself at the moment of signing.
# timestamp and expiry are different fields, set both <domain *> dkim-add-timestamp true dkim-expire-after 3d </domain>
what people get wrong and how it ends2 mistakes▶
our experience
our experience
1 relation
dkim-sign<domain>Does nothing until signing is enabled. § 3.3.10.20
pmta show settings gmail.com/vmta1 | grep -i add-timestamp grep -i 'DKIM-Signature' /var/log/pmta/pmta.log | tail -3
3 articles
◇Do not send what will fail the check at the receiverThe node checks the SPF of its own mail before sending: if it fails, it bounces the message without waiting for someone else’s refusal.◇How the node signs messages and chooses a keyThe key is chosen by the sending domain from the headers, going through the declarations from top to bottom.◇A message header with which the submitting side adjusts the signatureFive parameters in X-DKIM-Options: selector, domain, signing identity, query method and key list.