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

Reply via email to