Skip to content

andybalholm/spamass-milter

Repository files navigation

Spamass-Milter, a small
 - SpamAssassin Sendmail Mail Filter (Milter) Plugin 
-----------------------------------------------------

The official location of this project is
    http://savannah.nongnu.org/projects/spamass-milt/

I created this fork as a place to collect patches that aren't
getting looked at by the upstream project.
I don't even use SpamAssassin myself anymore, 
so my maintenance here will be pretty limited too. 
But I do merge reasonable-looking pull requests.

For information about Sendmail or SpamAssassin, please see 
	http://www.sendmail.org
	http://www.spamassassin.org


Installation instructions:
--------------------------

You need to have sendmail + sendmail's libmilter (available since
version 8.11, afaik, 8.12.+ recommended) installed. Depending on your
distribution you may need to recompile sendmail for this. 

Under Debian, "apt-get install libmilter-dev" should do the trick.

For more information, please refer to http://www.sendmail.org.

You will need to have SpamAssassin spamc & spamd installed &
configured.

BEFORE INSTALLING & TRYING TO USE THIS PROGRAM, PLEASE MAKE SURE THAT
SPAMC/SPAMD DOES EXACTLY WHAT YOU WANT; OTHERWISE YOU MIGHT RISK
LOSING MAIL.

"./configure ; make ; make install" should do the trick.  If it
doesn't, you may be missing something or the configuration may not be
working for you.  If you are not using a release tarball, you will need
to have automake and autoconf installed, and run "./autogen.sh" to
generate the configure script first.

Configuration:
--------------

In contrib, you'll find a startup-script that should work almost out
of the box under Debian. Just modify the execution path to where you
put the spamass-milter binary and set the path of the socket to what
you want to use. YOU WILL MOST LIKELY HAVE TO EDIT THE VARIABLES ON
TOP OF THIS FILE.

Then start the daemon via /etc/init.d/spamass-milter start and make
sure it didn't crash/terminate immediately. If it does, there should
usually be syslog output. 

If you want to make this happen automatically, you can use the
update-rc.d command for this under Debian.


Now you need to make sendmail use the plugin. I always recommend
configuring sendmail through m4 & the sendmail.mc files. In this case
adding the lines

INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/sendmail/spamass.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl
define(`confMILTER_MACROS_ENVRCPT',confMILTER_MACROS_ENVRCPT`, b, r, v, Z')dnl


should do the trick. Of course you need to modify the path of the
socket if you put another one into the startup script. The timeouts
have been increased somewhat because SpamAssassin may chew on it for a
little while on a slow machine.

If you are using multiple milter mail filters on your mail server, you may
have overridden the default values of some of the confMILTER_MACROS_*
macros whilst configuring the other filters. You need to ensure that at
least the following values are present:

confMILTER_MACROS_CONNECT must include the {j} and {_} macros
(all included by default)

confMILTER_MACROS_ENVFROM must include the {i}, {auth_authen}, {auth_ssf}
and {auth_type} macros (all included by default)

confMILTER_MACROS_ENVRCPT must include the {b}, {r}, {v}, and {Z} macros


Now recreate sendmail.cf, restart sendmail and experiment around a bit
with the setup to make sure it is working.


Q: Does this work for UUCP?

Yes, it does. At least for me. :-)


If you want, you might configure procmail to filter out the spam into
a separate mailbox or do other fancy things. The SpamAssassin homepage
will tell you more about it.

That should be it. Have fun watching the spam drip off your box. :)