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