We're trying to develop a small patch or replacement to "spamc" that
will be able to scan and deliver mail in 1 pass. It is ${run from a
users .forward file, reads the spool of the message ID you give it,
connects to spamd (or spamc) and returns the SpamAssassin result. The
result determines where the message is saved (either in the users spam
or normal Maildir).
This has some security implications, and we haven't actually gotten it
working yet, but we can't afford to send messages through Exim twice. We
don't want to scan for some possibly-forged header, or apply general
spam filter rules to everyone.
A different technique we looked into was modifying SA-Exim to scan
messages using local_scan() during the connection phase. Using that
method, "spamd" would return the message to Exim with a modified header,
and never reject the message. Then later on, we'd scan for the "X-Spam"
header, depending on a users preference.
When scanning at the connection phase, it's difficult to tell who has
filtering turned on, because at that stage Exim only has an address (not
a final local user). That means most messages need to be scanned (any
local domain). That, combined with the fact that we want to preserve
Exims integrity, and the need for SA-Exim to be heavily modified, turned
us away from local_scan().
As mentioned, Procmail is another solution people have found. However,
Procmail doesn't support Maildir quota-by-filename, and that's one more
add-on you need. Keeping everything in Exim is the easiest to maintain
IMO, but we may have to reconsider Procmail if our spamc patch doesn't
work well.
Rich
richs@???
-----Original Message-----
From: exim-users-admin@??? [
mailto:exim-users-admin@exim.org] On
Behalf Of Sergei Gerasenko
Sent: Tuesday, July 30, 2002 5:46 PM
To: exim-users@???
Subject: Re: [Exim] spamassassin but not system wide
> This is easy enough with procmail, but I don't see an easy way with
> the exim .forward file. And I don't want to convert the entire
> .forward file (which is a lot longer than the one above) to procmail.
> Does anyone know how to get the above behaviour (not using spamassasin
> system wide, and allowing some mailing lists to go through without
> filtering to reduce overhead)?
Here's is my 2 cents. I doubt you can do that filter in one ".forward"
pass. Most probably you will have to add a director and transport in the
exim config file and only after the director has run, will you be able
to check all the relevant headers. That is, you would have to resubmit
the email to exim from the spamassassin wrapper script and then run the
new modified message through your forward file. This CAN be done for one
user only though. Hope this is of any use.
Sergei
--
## List details at
http://www.exim.org/mailman/listinfo/exim-users Exim
details at
http://www.exim.org/ ##