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/
OpenProtect is a complete package which includes MailScanner for intergration with MTAs, spamassassin, clamav and it can be installed within 5-10 minutes and no need to manually edit any configuration files or settings. OpenProtect] supports postfix, sendmail, qmail and exim. See [http://wiki.apache.org/spamassassin/OpenProtect] or [http://openprotect.com] or [http://openprotect.sf.net] for more details.
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.mimedefang.org/
NOTE: spamass-milt has not been updated in a long time and is subject to a serious security problem. http://seclists.org/fulldisclosure/2010/Mar/140 If you want to use SpamAssassin as a milter, choose something other than spamass-milt.
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.
Integrated into Postfix
IntegratedInPostfixWithAmavis is more complicated still but provides a way to plug in ClamAV virus scanning as well. It supports before-queue or after-queue filtering.
Integrated into Qmail
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
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. On debian this is the default method: install the sa-exim package and edit /etc/exim4/sa-exim.conf to enable it.
As an Exim transport.
Integrated into Courier-MTA
If you use the Courier MTA, you can use maildrop, described in IntegratedInCourierUsingMaildrop.
Integrated into CommuniGate Pro
CGPSA: http://www.tffenterprises.com/cgpsa/ (should work on both Linux and Windows)
scanspam.sh (See wiki page for CommuniGate)
cgSpamAssassin: https://github.com/bret-miller/cgSpamAssassin (should work on both Linux and Windows)
Integrated into XMail (Unix)
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)
Integrated into Novell E-Mail Products
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.
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.
Integrated into Mailsweeper and Mailmarshal (Windows)
A Guide there shows howto intergrated SA (from the sawin32.sourceforge.net) as a plugin for Mailsweeper and this can also be used by Mailmarshal http://www.tooms.dk/articles_tutorials/howto_use_spamassassin_as_a_mailsweeper_plugin/