<domain>
The third reason a queue goes into retry mode is neither a receiver refusal nor a name resolution error, but a failure of the connection to the proxy. For it, not retry-after but this line applies.
The logic is the same as for retry-after-dns-error: the receiver did not see this attempt. The connection did not reach its port, it received no messages, and the sender’s reputation is not at risk. So a short step is appropriate here — the manual’s example 5m,5m,10m is two to five times faster than the usual one.
It is set the same way as the regular schedule: with a single interval or as a ramp. Without its own value, retry-after is used — and then a proxy failure costs the queue as much as a receiver refusal.
Shorter than the usual step. A proxy failure is a malfunction on our side: a restart, a dropped connection, exhausted connections. It clears up in minutes, and there is no point in waiting half an hour.
A short ramp is more useful than an even step. 5m,5m,10m tries twice quickly — in case of a momentary failure — and backs off if the proxy is down for real.
Do not confuse this with the number of attempts within one delivery. How many times to try the proxy itself before moving on to the next one in the list is set by retry-attempts in the <proxy> block. This line is about when the queue returns to attempting at all.
# a proxy failure clears up in minutes — we do not punish the queue for it <domain example.com> retry-after 30m proxy-retry-after 5m,5m,10m</domain>
what people get wrong and how it ends2 mistakes▶
§ 3.3.10.47
our experience
3 relations
bounce-after<domain>The overall deadline: the message will bounce once it passes, no matter how many attempts the node makes to get through via the proxy. § 3.3.10.47smtp-proxy-source-hostGlobalThe line that makes all of this work: without sending through a proxy there are no proxy failures. § 3.3.10.47
grep -n proxy-retry-after /etc/pmta/config grep -i proxy /var/log/pmta/pmta.log | tail -20
3 articles
◇How the policy for a receiver is assembledSettings are assembled from the most general pattern to the most precise; the order of blocks in the file means nothing.◇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.◇Reputation monitoring inside the nodeThe engine itself watches the receiving servers’ replies and changes the queue mode on a pattern match — a reaction within the connection, not through telemetry.