<virtual-mta-pool>
The same line as at the node level, declared inside <virtual-mta-pool>. The definition is on the general page; what matters here is what this place changes.
A pool hands out, it does not share. The declaration is inherited by every pool member: all of the pool’s addresses get the same key. This is not a “pool key” — it is a way to write one declaration instead of several identical ones.
A member can override it. If the <virtual-mta> itself has its own declaration, it is stronger than the pool one — like everything set closer to the point of sending.
Appropriate when all members have the same key. Then one declaration instead of a dozen identical ones is a direct benefit.
Not appropriate when addresses sign differently. In that case the declarations are written in the streams themselves.
Remember the priority. A member’s declaration overrides the pool one rather than supplementing it.
# one key for the whole pool — instead of a declaration in each stream <virtual-mta-pool warm> domain-key s1, *, /etc/pmta/key.pem virtual-mta mta1 virtual-mta mta2 </virtual-mta-pool>
what people get wrong and how it ends2 mistakes▶
§ 3.3.13
our experience
2 relations
pmta show vmta-settings mta1 | grep -i domain-key grep -i 'DKIM-Signature' /var/log/pmta/pmta.log | tail -5
3 articles
◇Headers the sender uses to control deliverySix control headers let the submitting side choose a stream, tag a message with a job, set signing options and the key, the envelope identifier and the schedule; each is allowed separately and per source.◇Backoff mode — the queue's second personalityA queue that a receiver has started refusing switches to a parallel set of limits, retries and routes — ten directives that act only in this mode.◇Warm-up built into the engineA warmed-up address hands the first N messages of the day for each receiver to its cold partner; the partner sends them itself and builds history.