<domain>
The default is false. With the value true the engine replaces the text of the reply after the 421 code and after the enhanced status code with a neutral “service unavailable”.
The reason is named plainly: so that addresses and other things from this reply do not get into bounce reports. Receivers often put a contact address, a link to their page or the recipient’s address into the refusal text — and all of it travels further with the report.
Pattern-based parsing keeps working. The original text is passed to the smtp-pattern-list rules as it was, so backoff mode and other pattern-based actions do not break. What accounting records in the meantime, the manual does not specify.
Whether the original text remains in accounting, the manual does not say: it only stipulates that the pattern rules still get it. Before relying on accounting, this is worth checking on your own node.
The second half: the line concerns only the 421 code — a temporary service refusal. The texts of other refusals, including hard 5xx, go out as they were.
In reports the line would not show up for us: local outcome reports are suppressed in all submission sources and do not go outside at all. The Hub gets receivers’ reply texts as accounting records in telemetry, and whether the replacement reaches accounting, the manual does not say.
There is no reason to enable it without checking: there is nothing to gain, and the texts of temporary refusals could be lost.
What to set. The question is whether reports go outside:
| Value | When |
|---|---|
| false (default) | reports are suppressed or read only by you |
| true | bounce reports reach senders, and other parties’ texts in them are undesirable |
The second does not interfere with the pattern rules: they get the original text. Whether it is kept in accounting, the manual does not say.
# reports reach senders — other parties' texts are not needed in them <domain *> replace-smtp-421-service-response true</domain>
what people get wrong and how it ends2 mistakes▶
§ 3.3.10.68
§ 3.3.10.68
1 relation
grep -n 'replace-smtp-421\|suppress-local-dsn' /etc/pmta/config /etc/pmta/virtualhost.txt grep -i 'smtp;421' /var/log/pmta/acct-*.csv 2>/dev/null | tail -10
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.