On 2024-12-05 19:18, Jaroslaw Rafa via Postfix-users wrote:
> From what you have written I understand that in most (if not all) cases,
> each email has to be BCC-ed to "destination set", which consists of
> {B,X,Y,Z,S1+office,S2+office}. Only emails to S1 and S2 don't, they are
> BCC-ed only to B. Do I understand correctly?
Yes.
> So maybe you should try to use "recipient_bcc_maps" parameter for this,
> without the need for too much aliasing?
>
> I think that recipient_bcc_maps for each of O,X,Y,Z can be the above
> "destination set", while the recipient_bcc_maps for S1,S2 would be just B.
AFAIK recipient_bcc_maps can have only one RHS, so I'd have to use alias
there. Reading man 8 cleanup it's not clear to me what's the exact order
of evaluation, I'd also have to use this alias for sender_bcc:
recipient_bcc:
office office_set
X office_set
sender_bcc:
X office_set
virtual:
office_set B X Y Z S1 S2 [..]
As (long as) virtual doesn't contain X, Y, Z - there's no recursion
indeed. Interesting, I haven't used recipient_bcc_maps for years,
definitely worth practicing again.
> Probably O should be then aliased to something like /dev/null, as there is
> no actual recipient and all recipients are handled by BCC.
As *bcc don't redirect, but create a copy - yes, "original" office@
should probably be sinkholed.
OTOH I need to verify, that X +BCC: office_set containing X again would
be properly deduplicated.
If I understand this correctly, entire resolving is done in cleanup, and
due to the sole virtual _syntax_ I cannot terminate recursion and skip
delivery at the same time (as the former requires "aliasing to itself").
This is why I proposed explicit recursion-prevention flag.
But maybe I've been using recursionful feature instead of the better
suited one.
> bcc_recipient_maps is applied only once, and the recipients mentioned there
> don't get another copy of the same message ("To avoid mailer loops,
> automatic BCC recipients are not generated after Postfix forwards mail
> internally, or after Postfix generates mail itself.")
>
> Can it solve your case?
It surely might, at first sight it could simplify several key components
of my actual setup. I'll have to experiment a bit with this to see if it
doesn't clash with something else I'm using, but it looks promising.
Using virtual to define *final* distribution lists under some "labels",
which in turn are used in *bcc might be the separate step I've been
missing and combined with Viktor's insight I hope will do the job.
Thanks again!
PS. sorry for breaking threading with my previous response.
--
Tomasz Pala
_______________________________________________
Postfix-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]