critical
DKIM signing works like this: you have a key pair, the public part is in DNS, the private part is on the node, and the node adds a signature header to the message. The receiver takes the public part from DNS and verifies.
Hence the order of steps. It is not arbitrary: the DNS record is published before signing is enabled. Otherwise messages go out with a signature there is nothing to verify against — and that is worse than messages with no signature at all.
The eight steps below come from the manual. The last one is not needed by everyone: it covers the case where the key is declared inside a sending stream rather than at the node level.
# 3. generation: produces two files — .pem and .dns pmtakeytool newdk k1 example.org 2048 # 4. permissions: only the node may read it install -o pmta -g pmta -m 600 k1.example.org.pem /etc/pmta/ # 6. declaring the key and 7. enabling 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▶
our experience
§ 10.3.2
our experience
3 relations
dig +short TXT k1._domainkey.example.org pmta show settings example.com/vmta1 | grep -i dkim-sign
3 articles
◇The activation key is a prerequisite for installation, not a step after itWithout an activation key from SparkPost support the engine neither installs nor runs, and the license tier sets the outbound connection ceiling: on Standard everything above 200 is ignored.◇Cloud restrictionsClouds restrict outbound mail on port 25 until you ask them to lift the limit, and mailbox providers treat their address ranges with suspicion.◇How to turn a sending plan into hardwareTwo constants for sizing any node: about 2 KB of memory per queued recipient and spool space proportional to the total size of the messages.