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

Página Principal
Apagar esta mensagem
Responder a esta mensagem
Autor: Andreas Metzler
Data:  
Para: exim-users
Assunto: Re: [Exim] How to distinguish between one and multiple recipients within an ACL statement?
On Thu, Feb 05, 2004 at 12:09:57PM -0500, Eli wrote:
>> 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.

[...]
> 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 :)

[...]

I'll gladly do that. ;-)

The reason of this behavior is not any special design of the
implementation but is based on the very nature of SMTP. DATA only
has three possible answers: yes, no and "Try later".

Take this dialogue (C client, S server)

C: ehlo client.fqdn
S: 220 OK
C: mail from:<>
server runs the mail acl which results in accept.
S: 250 OK
C: rcpt to:<blah@bar>
server runs the rcpt ACL which results in accept.
S: 250 Accepted
C: rcpt to:<foo@bar>
server runs the rcpt ACL which results in deny
S: 550 unknown user
C: rcpt to:<foo2@bar>
server runs the rcpt ACL which results in accept.
250 Accepted
C: DATA
S: 354 Enter message, ending with "." on a line by itself
C: Subject: test
C: .
server runs the data ACL. The only possible answers are "250 OK" or
_denying_ acceptance. SMTP does not specify an answer "I have accepted
the message for the first two addresses but I reject the other ones".
                 cu andreas
PS: Pretty please consult
http://www.netmeister.org/news/learn2quote.html
--
"See, I told you they'd listen to Reason," [SPOILER] Svfurlr fnlf,
fuhggvat qbja gur juveyvat tha.
Neal Stephenson in "Snow Crash"