Viktor Dukhovni: > On Sun, Oct 23, 2022 at 05:21:05PM +0200, Markus Sch?nhaber wrote: > > > while experimenting with ways to temporarily suspend message delivery > > I set a smtpd_client_restrictions = check_client_access static:HOLD > > But incoming mail wasn't put on hold but postfix logged a warning > > instead: > > > > > warning: access table static:HOLD: with smtpd_proxy_filter specified, > > > action HOLD is unavailable > > > > I have tried to find the place where this is documented and which other > > restrictions might collide with smtpd_proxy_filter. But I have failed. > > Can someone point me in the right direction? > > The HOLD action causes messages to be placed in the "hold" rather than > the "incoming" queue, which naturally at least requires that a queue > file be involved. > > On the other hand, "smtpd_proxy_filter" is pre-queue, instead of writing > the message to a queue file (via cleanup(8)), it is sent via SMTP to a > filter service. Naturally nothing that requires a queue file is > possible. > > 1. No HOLD actions > 2. No milters. > 3. No receive_override_options (no cleanup) > ... > > If the filter then forwards the message to Postfix smtpd(8) on some > other port, it is *that* smtpd(8) instance that can request actions > from cleanup(8) that involve a queue file.
One detail: smtpd_milters are available before "smtpd_proxy_filter", but none of the milter events and actions that involve message header or body content, because the Postfix implementation of those requires a queue file. Wietse