<domain>criticalset by the Hub
This line decides whether messages going to this receiver are signed. It does not name the key: the key is chosen by the sending domain from the message headers, among the domain-key declarations.
Without keys the line does nothing. The manual says it plainly: keys must be configured for enabling to take effect. There is no error and no warning when they are missing — the message simply leaves unsigned.
A third value besides yes and no. if-x-dkim-options-present enables signing only for messages that carry the X-DKIM-Options header. This is how you sign selectively — by decision of the submitting side rather than by receiver.
Enable it for all receivers. An unsigned message looks suspicious to any large receiving server today; selective signing makes no sense.
Key first, then enabling. The order matters: messages signed with a key that is not in DNS are worse than unsigned ones.
The third value is for someone else’s submission. It hands the signing decision to the submitting application; in your own mailing it is just one more way to make a mistake.
# the key is declared and the DNS record is published — only now do we enable signing domain-key k1, example.org, /etc/pmta/k1.example.org.pem <domain *> dkim-sign yes</domain>
what people get wrong and how it ends3 mistakes▶
§ 3.3.10.18
our experience
our experience
3 relations
dkim-add-body-limit<domain>Does nothing until signing is enabled. § 3.3.10.19dkim-add-timestamp<domain>Does nothing until signing is enabled. § 3.3.10.20dkim-algorithm<domain>Does nothing until signing is enabled. § 3.3.10.21dkim-body-canon<domain>Does nothing until signing is enabled. § 3.3.10.22dkim-headers-canon<domain>Does nothing until signing is enabled. § 3.3.10.23dkim-expire-after<domain>Does nothing until signing is enabled. § 3.3.10.24
pmta show settings gmail.com/vmta1 | grep -i dkim-sign grep -i 'DKIM-Signature' /var/log/pmta/pmta.log | tail -5
3 articles
◇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.◇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.◇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.