Tony Finch schrieb:
> On Mon, 11 Feb 2008, Felix Erkinger wrote:
>
>> hi, i'm trying to make a ACL condition which should check if the
>> authenticated user is using email addresses out of a allowed list:
>
> something like
>
> deny
> message = user $authenticated_id may not use sender address $sender_address
> authenticated = *
> ! senders = ${lookup {$authenticated_id} lsearch {/etc/exim/email-per-user.txt} }
>
As far as i unterstood your code sample, the second one, matches what i
wanted to do, because it checks if the h_from, h_sender addresses match
the email-per-user.txt ? or does senders= also check header addresses ?
i'm confused ...
> I think the following will do if. It's a bit tricky. The forall iterates
> $item over the From: and Sender: addresses, and checks that every address
> satisfies the following condition. The match_address checks that the item
> appears in the user's list of permitted addresses.
>
> deny
> message = user $authenticated_id may not use sender address $sender_address
> authenticated = *
> ! condition = ${if forall \
> {<, ${addresses:>, $h_From:}, \
> ${addresses:>, $h_Sender:} } \
> { match_address \
> {$item}{${lookup {$authenticated_id} \
> lsearch {/etc/exim/email-per-user.txt} }} } }
i will try to get the two ones running, and post the results.
Thank you,
Felix