RE: [Exim] How to distinguish between one and multiple recip…

Top Page
Delete this message
Reply to this message
Author: Eli
Date:  
To: exim-users
Subject: RE: [Exim] How to distinguish between one and multiple recipients within an ACL statement?
>If a message arrives and this message has multiple recipients and one of
>the recipients is in the "+no_checks_addresses" list, the message will be
>accepted, no checks will be made for this message. This is unwanted.


This is because the exiscan features (spam/virus scanning, mine stuff,
etc...) work only in the DATA phase of the message. At this stage, the
system is dealing with the message as a single entity and the message is
worked over only *once* for *all* recipients. As far as I can tell, there
is currently only one way you can do what you want, and that is to limit
incoming messages to one recipient at a time (there was a thread on
exiscanusers a while back by Matthew Trent in which he posted such a
configuration for Exim).

I think that the reason for this behaviour is possibly because how the
header stuff is currently implemented in ACLs. Mabye with the hopes of
header implementation being reworked in ACLs in the future, it might be
possible to have the DATA ACL phase processed on a per recipient basis?
Chances are I missed something important here, so I'm hoping people correct
me if I'm wrong :)

Eli.

-----Original Message-----
From: exim-users-admin@??? [mailto:exim-users-admin@exim.org] On Behalf
Of Oliver Egginger
Sent: Thursday, February 05, 2004 6:27 AM
To: exim-users@???
Subject: [Exim] How to distinguish between one and multiple recipients
within an ACL statement?


Hello,

we use Exim 4.24 with the Exim-ACL-Patch. We do different tests for
incomming emails (virus check, sender callback, ...). Some of our users
don't want such tests, also we exclude them from the tests by adding the
following lines in the RCPT ACL of the Exim configure file:

accept  recipients = +no_checks_addresses
    set acl_m1 = accepted


The list "+no_checks_addresses" yields the addresses of all relevant
people. So far so good. But there is one problem. If a message arrives
and this message has multiple recipients and one of the recipients is in
the "+no_checks_addresses" list, the message will be accepted, no checks
will be made for this message. This is unwanted. We want that a message
is accepted if and only if the message has exactly one recipient address
in the envelope and this address is in the "+no_checks_addresses" list.
In all other cases the message shouldn't be accepted by the ACL
statement.

I temted to write a condition based on $recipients and
$recipients_count, but the documentation says that $recipients is
recognized only in the system filter file. At the moment I'am at a loss
with this problem. How to distinguish between one and multiple
recipients within an ACL statement? Every hint would be appreciated.

regards
oliver


--

## List details at http://www.exim.org/mailman/listinfo/exim-users Exim
details at http://www.exim.org/ ##