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.
--
Viktor.