Re: [exim] Multiple recipients per message vs. individualspa…

Top Page
Delete this message
Reply to this message
Author: Marc Sherman
Date:  
To: exim-users
Subject: Re: [exim] Multiple recipients per message vs. individualspamscanning
Yves Goergen wrote:
>
> Thanks for that link. I went the way to limit the number of recipients
> per message to one. But I'm not sure if that's actually effective, I
> went to Gmail and sent a message to two of my local addresses and both
> arrived immediately.


Gmail probably delivered two copies of the message in a single
connection. Check the headers of the two copies you received. If they
were properly split, they'll have different $message_exim_ids (preceded
by "id") in the Received: header.

Spamassassin is usually going to cost you an order of magnitude more
load than anything exim does itself. Your solution will result in
multiple spamassassin scans for the same message. You should seriously
consider implementing the "recipient class" splitting described in that
wiki page.

> Also I want to turn off spam scanning for messages from my local users.
> That makes no sense and because local authenticated users (SMTP AUTH)
> can send mails to multiple recipients anyway scanning for a specific
> profile wouldn't work. I thought I just put it like that:
>
>   warn    condition     = ${lookup mysql{MY_QUERY}{$value}}
>           authenticated = :
>           message       = X-Spam-Score: $spam_score ($spam_bar)
>           spam          = nobody:true

>
> But this effects that no message will be scanned. Seems like Gmail was
> able to authenticate with my SMTP server. How can that be? Or what does
> that "authenticated = *" in the default RCPT ACL mean? Isn't it about
> letting SMTP AUTH users in and others not?


See the documentation in chapter 39: the "authenticated" condition is
always false if the connection wasn't authenticated. It only does a
string comparison against the list for authenticated connections. So the
ACL you have will never fire. Try this instead:

   warn    condition     = ${lookup mysql{MY_QUERY}{$value}}
          !authenticated = *
           message       = X-Spam-Score: $spam_score ($spam_bar)
           spam          = nobody:true


- Marc