<virtual-mta>
The line names a list of <proxy> blocks that sending goes through. There is no default — without it the node connects to receivers by itself.
🔴 The list is strictly for backup, not for balancing. The manual says so literally: the second proxy is used only when the connection to the first failed, the third when both failed. Load cannot be distributed among proxies with this line.
Each name must be declared with a <proxy> block — otherwise the configuration will not pass the check.
It is incompatible with smtp-proxy-source-host — the second way to configure a proxy, and the two do not work together.
🔎 So a sending address has no spare proxy: the Hub spreads traffic across proxies with set pools (proxy-pool-…), not with a list.
The list is written in order of preference:
| Value | When |
|---|---|
| do not set it (default) | the node goes out by itself |
| one proxy | the usual case |
| a list | a backup is needed in case of failure |
# a list of backups, not distribution: the second only if the first fails use-proxy mta-proxy-a, mta-proxy-b
what people get wrong and how it ends1 mistake▶
our experience
2 relations
use-proxyGlobalThe level above: if not set here, the list is taken from there. § 3.3.1.47
head -1 "$(ls -t /var/log/pmta/acct-*.csv | head -1)" | tr -d '\r' | tr ',' '\n' | grep -n '^dlvProxy'
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.