I'm curious about how SA integrates with Exim, because I'm concerned about the amount of cpu-time SA is taking up when it scans e-mails.
What I'm wondering is that, if the $spam_ related functions are called from different warn and deny sections, is the SA daemon being called to scan an e-mail each time the $spam_ is used?
Or, to say it a different way... for each incoming e-mail, regardless of how many times $spam_score is used in various ACLs, is the e-mail only scanned and scored by SA once, or is SA scanning and re-scoring the e-mail each time to determine the $spam_score?
Here's the ACL i'm using:
check_data:
# Scan the msg and add X-Spam-Score header:
warn spam = nobody:true
message = X-Spam-Score: $spam_score ($spam_bar)
# Add "X-Spam-Flag" header if its probably spam and write a warning
# to the log.
warn condition = ${if > {$spam_score_int}{30}{yes}{no}}
message = X-Spam-Flag: YES
message = X-Spam-Report: $spam_report
log_message = spam score $spam_score for $recipients
# Deny, if the message is over the reject threshold
deny condition = ${if > {$spam_score_int}{60}{yes}{no}}
log_message = spam score $spam_score for $recipients
message = This message scored $spam_score spam points \
and has been rejected.\n
accept
---Brett.