On Sat, Aug 13, 2022 at 03:42:41PM +1200, Peter wrote:
> /etc/postfix/sender-recip:
>
> # Joe is only allowed to send to Bob
> [email protected] check_recipient_access
> inline:{[email protected]=permit},reject
>
> # Jane is not allowed to send to Joe or Bob but can send to anyone else
> [email protected] check_recipient_access inline:{[email protected]=reject,
> [email protected]=reject},permit
>
> # Jeff is allowed to send to anyone who's address begins with a "j" (far
> # fetched, I know but it illustrates the example)
> [email protected] check_recipient_access pcre:{{/^j/ permit}},reject
>
> Note: None of these examples are tested and I may have gotten the syntax
> wrong, but the premise is that the result of an access(5) lookup can be
> additional restrictions, combine this with the use of inline tables (or
> pcre/regexp tables using the documented inline syntax) and you can do
> quite a bit.
There is no such syntax, as you'd discover if you tried it. Access
tables are pre-registered while parsing *restriction classes*, both
built-in (smtpd_mumble_restrictions) and user-defined. On the RHS of
tables only already defined restriction classes and built-in verbs are
available. It is not possible to define inline or any other tables
in the RHS value of an access(5) lookup.
On a small-enough scale, it is possible to do some table lookup chaining
via the methods show in RESTRICTION_CLASS_README.
--
Viktor.