Re: [Exim] Skip SPAM check for SMTP Auth'd and local sent ma…

Top Page
Delete this message
Reply to this message
Author: Bradford Carpenter
Date:  
To: Derrick
CC: exim-users
Subject: Re: [Exim] Skip SPAM check for SMTP Auth'd and local sent mail
On Tue, 03 Feb 2004 22:12:30 -0800 (PST), Derrick wrote:

> Is there a way to not check for SPAM on SMTP Authenticated users? And same
> for mail originating local? (i.e. - webmail) I did some searches, couldn't
> find much to help, but maybe I was searching using the wrong words...


You can set a couple of ACL variables in your acl_smtp_rcpt section
where you establish whether the user is local or authenticated.

acl_check_rcpt:

  accept        domains = +local_domains
             set acl_m1 = local


  accept  authenticated = *
             set acl_m2 = auth


Then in your acl_smtp_data section, check the variables as a condition
for running a spam check.

acl_check_data:

  warn   message = X-Spam-Score: $spam_score ($spam_bar)
       condition = ${if or{{eq{$acl_m1}{local}}{eq{$acl_m2}{auth}}}
{no} {yes}}
            spam = nobody:true
  warn   message = X-Spam-Report: $spam_report
       condition = ${if or{{eq{$acl_m1}{local}}{eq{$acl_m2}{auth}}}
{no} {yes}}
            spam = nobody:true


  warn   message = X-Spam-Flag: YES
       condition = ${if or{{eq{$acl_m1}{local}}{eq{$acl_m2}{auth}}}
{no} {yes}}
            spam = nobody


  deny   message = This message scored $spam_score points.
Congratulations!
       condition = ${if or{{eq{$acl_m1}{local}}{eq{$acl_m2}{auth}}}
{no} {yes}}
            spam = nobody:true
       condition = ${if >{$spam_score_int}{50}{1}{0}}


I believe if the mail has multiple recipients, if one of the recipients
is local or authenticated, the spam check will be bypassed for all
recipients of the message, since the data acl is run once per message,
not once per user. Don't know a way around this.

Brad