<domain>deprecated
The line limited the rate of messages to the receiver in backoff mode — the mode a queue enters after a run of refusals. The manual gave it a one-sentence section: “obsolete, use backoff-max-msg-rate”.
The replacement is arranged the same way as in normal mode: the interval moved into the value, 100/h instead of a hard-wired hour. And it counts the same thing — attempts on a par with deliveries; when the limit triggers, the monitor marks it with the line message rate limit reached (based on backoff-max-msg-rate in configuration).
But the replacement’s default is unusual. If max-msg-rate is set for the same queue, the backoff limit by default equals it; if not — unlimited. That is, without an explicit line backoff mode is not slower than normal: it changes the retry schedule, but not the rate.
The conversion is mechanical: backoff-max-msg-per-hour N becomes backoff-max-msg-rate N/h.
The number is deliberately low: backoff mode for us means “almost stop and wait”, not “slow down a little”.
What to set. Nothing: the line should be replaced.
| Value | When |
|---|---|
| do not write it | always: the backoff rate is set by the replacement |
| N | only in an old configuration that has not been converted yet |
When converting, it is worth rereading the number. Since the line is being touched anyway, it makes sense to check it against the normal rate: a backoff limit equal to the normal one gives nothing — and that is exactly how the queue will behave if the line is simply removed.
# this is how it used to be written <domain yahoo.com> backoff-max-msg-per-hour 100</domain> # this is how it is written now — next to the normal rate it is counted from <domain yahoo.com> max-msg-rate 500/h backoff-max-msg-rate 100/h </domain>
what people get wrong and how it ends3 mistakes▶
§ 3.3.10.41
§ 3.3.10.43
§ 3.3.10.41
3 relations
grep -rn 'backoff-max-msg-per-hour\|backoff-max-msg-rate\|max-msg-rate' /etc/pmta/ pmta show settings yahoo.com/mta-news-1
3 articles
◇Accept, route, deliverA message’s path inside the node: accept, decide where, deliver — and all the settings live between these three steps.◇Four value types the whole config is written inBoolean, domain pattern, regular expression and time interval — defined once in § 3.2 and then used by all directives.◇Reloading settings versus restarting the serviceThe configuration is read at startup, and after that edits are picked up by the reload command — except for the directives the manual marks as requiring a restart.