Integrated into several varieties of MTA
Amavisd-new is a high-performance interface between mailer (message transfer
agent - MTA) and one or more content checkers: virus scanners, and/or SpamAssassin. It is
written entirely in Perl, assuring high reliability, portability and
maintainability. It talks to MTA via (E)SMTP or LMTP, or by using helper
programs. Best with Postfix, works with Exim, sendmail/milter or with any MTA as
a SMTP relay.
http://www.ijs.si/software/amavisd/
MailScanner now
includes support for SpamAssassin. This
is "a virus scanner for e-mail designed for use on e-mail gateways. It can also
detect a large proportion of unsolicited commercial e-mail (spam) passing
through it." MailScanner does an
excellent job with file names and types, and can be set to quarantine encrypted
.ZIP files and apply normal filename rules and virus scanning inside unencrypted
ones.
http://www.sng.ecs.soton.ac.uk/mailscanner/
Another option is to use a filtering SMTP proxy such as spampd. It is
typically used to filter the mail between an external-facing MTA instance/relay,
and an "internal" MTA instance. http://www.worlddesign.com/index.cfm/rd/mta/spampd.htm
Integrated into Sendmail
With Sendmail, Spamassassin can be called for every user by editing
/etc/procmailrc . More details at
http://www.stearns.org/doc/spamassassin-setup.current.html#sitewide
An alternative is to use the smtp-vilter high-performance content filter
using the sendmail milter API which has a backend for Spamassassins spamd. More
details at
http://www.msys.ch/products/unix/smtp-vilter/
MIMEDefang, a sendmail milter written by Roaring Penguin Software, filters
all e-mail messages sent via SMTP through a sendmail installation, blocking
common mail viruses, and now -- with the help of SpamAssassin --
spam. "You can use SpamAssassin to test
for spam, and then all of the MIMEDefang goodies to reject, manipulate or
otherwise mangle the message." Integrated with the MTA to the level of returning
5xx error codes during the SMTP session, so viruses or detected spam can be
rejected at the delivery, which notifies the sender, that the mail was rejected,
without generating an additional email message.
http://www.roaringpenguin.com/mimedefang/
spamass-milt http://savannah.gnu.org/projects/spamass-milt/ is a sendmail
milter by Georg C. F. Greve, which allows sendmail users to filter spam at the
heart of the sendmail message pipeline. It also allows SpamAssassin to be
used for UUCP sites. If you plan to use this, be sure to read Kevin McGrail's walkthrough at
Peregrine Hardware.
http://www.peregrinehw.com/downloads/SpamAssassin/INSTALL-spamassmilter.
milter-spamd
http://www.benzedrine.cx/milter-spamd.html is a simple BSD-licensed sendmail
milter by Daniel Hartmeier.
BSM Development have released MailCorral and SpamCorral for use on
UNIX and Linux systems, mail/spam filtering software using the sendmail milter
interface.
http://www.bsmdevelopment.com/
Yet Another Sendmail-SpamAssassin
Interface Milter, milter-spamc by Snert http://www.snert.com/Software/milter-spamc/index.shtml
Integrated into Postfix
The easiest way to integrate postfix and spamassassin is to use spamd. See IntegratedSpamdInPostfix.
Alternatively, a more complex scheme is to integrate it using Amavis, as described in IntegratedInPostfixWithAmavis.
Integrated into Qmail
Use SpamAssassin to
reject spam at SMTP time with
Simscan. Simscan works natively with
Netqmail-1.05, or with vanilla
qmail-1.03 with the
qmailqueue patch.
SpamAssassin can be integrated into qmail system-wide using qmail-scanner, described in IntegratedInQmailWithQmailScanner.
Since qmail allows users to configure their own delivery options via ~/.qmail files, an alternative option, if you have spamd running and only want to scan mail delivered to local users, is to use ifspamh: see IntegratedInQmailWithIfspamh.
Integrated into Exim
SpamAssassin
can be integrated into Exim
in three ways:
-
As of Exim 4.50, by compiling Exim using WITH_CONTENT_SCAN=yes (see
details,
more). As an Exim 4.4x
Exiscan-extended ACL condition stack, Exim can reject spam after reading the body, but before Exim acknowledges acceptance of the email.
Debian Linux's exim4-daemon-heavy comes with the exiscan patch built in. You can discover its presence in your distro's exim binary directly with the command exim -bV or exim4 -bV; look for the phrase Contains exiscan-acl patch.
-
As an Exim 4.x loadable module or local_scan.c replacement.
SA-Exim also allows SpamAssassin to reject spam before its accepted by your MTA. More info at
http://www.timj.co.uk/linux/exim.php.
-
As an
Exim transport.
Integrated into Courier-MTA
If you use the Courier MTA, you can use maildrop, described in IntegratedInCourierUsingMaildrop.
There is also a rudimentary HOWTO at the Gentoo forums for integrating SpamAssassin and
f-prot with Courier-MTA.
There is another HOWTO at
http://da.andaka.org/Doku/imapspamfilter.html to feed SpamAssassin's bayes
filter via Courier-IMAP.
Integrated into CommuniGate Pro
-
CGPSA external filter:
http://www.tffenterprises.com/cgpsa/
CGPAV external filter:
http://program.farit.ru/doc/cgpav.html
SpamAssassin plugin for CommuniGate Pro 4.x:
ftp://ftp.vsu.ru/pub/apps/CGatePro/sa-cgp.c
Integrated into XMail (Unix)
SpamAssassin
Filter (sa_filter.pl) is an XMail
filter send incoming email messages to SpamAssassin for
spam filtering.
sa_filter.pl calls spamc, the SpamAssassin client (spamc calls spamd) and passes the output of spamc back to XMail for delivery. Neither sa_filter.pl nor spamc will delete emails that are flagged as spam.
Please find the filter source code and documentation at Drake
Consulting
Integrated into Exchange (Windows)
See:
http://www.christopherlewis.com/ExchangeSpamAssassin.htm
Integrated into Novell E-Mail Products
Novell sells two E-Mail systems: GroupWise (full-featured collaboration) and NetMail (ISP-quality standards-based E-Mail only).
GroupWise: The GroupWise
MTA-equivalent (GroupWise Internet
Agent, or GWIA) implements its own RBLs and other anti-SPAM measures. Guinevere
http://www.openhandhome.com, written by the maintainer of the SA
Win32 HOWTO, provides integration with SA.
NetMail: NetMail
is closer to what most *NIX admins are used to. There is an open-source project
at SourceForge for
integrating 3rd party software with NetMail. See Novell NetMail Agent
Integrated into Mail Avenger
Mail Avenger is an SMTP Server that allows individual users to run
tests on mail messages during SMTP transactions, so that unwanted mail can be
rejected before the mail server accepts responsibility for the message. One
advantage of this is that it allows you to bounce messages marked as spam by
spamassassin. (You can, of course, bounce spam after spooling it, but then you
risk sending bounce messages to innocent third parties when spammers forge the
sender address, as often happens.)
Individual users can bounce spam by putting the following lines in their $HOME/.avenger/rcpt files:
bodytest edinplace -x 111 spamassassin -e 100
To run spamassassin by default for all users, you might place the following code in the file /etc/avenger/default:
test -n "$MAIL_ERROR" && exit 0 bodytest edinplace -x 111 spamassassin -e 100
The first line just rejects the mail immediately if Mail Avenger will end up rejecting it anyway, to save the overhead of firing up spamassassin.
Note that another theoretical advantage of Mail Avenger is that you ought to be able to feed the netpath and SYN fingerprint information it collects into the spamassassin's bayesian filter, but there is not currently any special support for tokenizing the X-Avenger header.