[Exim] SA and multiple recipients

Pàgina inicial
Delete this message
Reply to this message
Autor: Paul Walsh
Data:  
A: Exim Users (E-mail)
Assumpte: [Exim] SA and multiple recipients
We had an instance yesterday where a user sent a message addressed to a
large number of recipients and it appeared that for each delivery attempt,
SA was called to scan the message, gradually bringing the system to its
knees. Ideally I would like SA to only scan the message once, at the
earliest opportunity (i.e. before delivery attempts are made) and with
minimal impact on the system. Is this something that could be done via the
system filter?

As can be seen from the setup below, the protocol is set to "spam_checked"
once the message has been passed through SA, but am I right in assuming this
only applies to individual delivery attempts so the attempt to deliver to
recipient B has no knowledge of the fact that SA has already been run for
the delivery to recipient A?

Currently using SA 2.1 + Exim 3.35 under Solaris 7 on a Sun E150

Paul



#TRANSPORT
spam_scan:
driver = pipe
user = exim
group = exim
prefix =
suffix =
command = "/usr/local/bin/scanner ${sender_address}
${quote:${pipe_addresses}}"
ignore_status = true
use_shell = true
path = /usr/bin:/usr/sbin:/usr/local/bin

#DIRECTOR
# Only scan messages where received protocol has not already been set to
spam_checked and where sender is not from
# one of our domains
spam_to_check:
driver = smartuser
transport = spam_scan
condition = ${if and { {!eq {$received_protocol} {spam_checked}} {!match
{$sender_address_domain} {uce\.ac\.uk}} } {1} {0} }

#ROUTER
spamcheck:
driver = domainlist
transport = spam_scan
condition = ${if and { {!eq {$received_protocol} {spam_checked}} {!match
{$sender_address_domain} {uce\.ac\.uk}} } {1} {0} }
route_list = "*.uce.ac.uk localhost"

"scanner" script:
#!/bin/ksh
spamc -f | /usr/exim/bin/exim -oMr spam_checked -f $@