[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: setting up spamassassin (alternative)



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wednesday 16 January 2002 2:33 am, dman wrote:
> I'm now trying to set up spamassassin on my system, but am running
> into some hurdles.  I use exim as my MTA, so I'm following the guides
> at
>     http://bogmog.sourceforge.net/document_show.php3?doc_id=28

I have had a look at some of those (including briefly at that one) and they 
seemed a bit complicated to me.  I "think" I have succeeded in making it work 
reasonably well in the last day or so using my own method which is documented 
below.  Since this is debian, spamassassin is also bundled with spamc/spamd 
pair which is infact what I use.  The only area I am a little unsure on is 
the check_spam: transports use of $LOCAL_PART - in that will that work for 
multiple recipients?  Steps to follow are

1) edit /etc/default/spamassassin and set ENABLED=1
2) edit /etc/spamassassin.prefs to set rewrite_subject to 0 (see why later) 
and anything else you want
3) start spamd /etc/init.d/spamassassin start
4) create a file /etc/exim/filter
============
# Exim Filter

if first_delivery and
   $h_X-Spam-Flag: contains "YES"
then
   logfile /var/log/exim/spamlog
   logwrite "$tod_log From: $h_From: Subject: $h_Subject: Sender: 
$sender_address"
   if $h_From: is not ""
   then
      mail to $h_From: subject "Re: Your last message to me"
           expand file /etc/exim/spam-reply.txt
           once /var/log/exim/spamcount
           once_repeat 5d
   endif
   seen finish
endif
============
5) create the spam-reply.txt (here is mine as an example)  
============
Your mail with Subject: $h_Subject:
to domain chandlerfamily.org.uk appears to be unsolicited spam.

If you intended to contact a person at that email domain for
legitimate reasons then our apologies. Please would you resend to the
same address but add the prefix "real-" (without the quotes) to the
e-mail address and it will bypass the spam filter.

Thank you

postmaster@chandlerfamily.org.uk
============
6) edit /etc/exim/exim.conf with the following fragments (separated with 
============)

============ main configuration
message_filter = /etc/exim/filter
message_filter_reply_transport = spam_reply_transport
============ transports
spam_reply_transport:
  driver = autoreply
  user = mail

#  This transport does a spam check to look for spam and then re-injects
#  the message into exim

check_spam:
  driver = pipe
  user = mail
  group = mail
  prefix =
  suffix =
  command = spamc | exim -oMr spam_checked -f $sender_address \$LOCAL_PART
  ignore_status = true
  use_shell = true
  path = /usr/bin:/usr/sbin
============ directors (my local users bit is a bit weird in real_local:)
# This allows local delivery to be forced, avoiding spam filter, alias
# files and forwarding.

real_local:
  prefix = real-
  driver = smartuser
  local_parts = /etc/exim/local-users
  user = $local_part
  transport = local_delivery

# All remaining mail is checked for spam

spam_to_check:
  driver = smartuser
  transport = check_spam
  condition = ${if eq {$received_protocol} {spam_checked} {no} {yes} }
==============

And thats it - it uses the same principals as the other schemes - but these 
seem to have long complicated perl scripts to do what I complete entirely 
within exim.  I had some problems initially because I was bouncing spam from 
mailing lists back to mailing lists.  I "hope" that using the from: header in 
the mail filter command will avoid that somewhat.  However to check what 
happens over the next few days/weeks I am writing both the From: header and 
the envolope sender to the log file to check


- -- 

  Alan - alan@chandlerfamily.org.uk
http://www.chandlerfamily.org.uk
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE8R0HI1mf3M5ZDr2kRAmsMAJ9hmM9BXwvZ2JDPLz70xlivXRXzNgCgjZ2X
ddZjyl9cmgV2zPK8DUTWztg=
=KupV
-----END PGP SIGNATURE-----



Reply to: