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.