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." \[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/software/unix/sendmail/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 virii, 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." \[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

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 \[http://www.exim.org/ Exim\] in three ways:

  1. As an \[http://duncanthrax.net/exiscan-acl/ Exiscan\]-extended ACL condition stack, Exim can reject spam after reading the body, but before Exim acknowledges acceptance of the email. \[http://www.debian.org/ 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}}.
    \\
  2. As an Exim 4.x loadable module or local_scan.c replacement. \[http://marc.merlins.org/linux/exim/sa.html SA-Exim\] also allows [SpamAssassin] to reject spam before its accepted by your MTA.
    \\
  3. As an \[http://dman13.dyndns.org/~dman/config_docs/exim-spamassassin/ 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 \[http://forums.gentoo.org/viewtopic.php?t=28392 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

Installation and usage instructions can be found at
http://www.stalker.com/CGPSpamCatcher/#Integrate

ftp://ftp.vsu.ru/pub/apps/CGatePro/sa-cgp.c
ftp://ftp.vsu.ru/pub/apps/CGatePro/Mail-SpamAssassin-2.63-ai.diff (required)

Build:
AIX: cc_r sa-cgp.c libspamc.c utils.c -o sa-cgp
Solaris: cc -mt sa-cgp.c libspamc.c utils.c -o sa-cgp -lsocket -lnsl

Integrated into XMail (Unix)

[SpamAssassin] Filter (sa_filter.pl) is an \[http://www.xmailserver.org/ 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 \[http://www.drakeconsult.com/xmail/ Drake Consulting\]

Integrated into Exchange (Windows)

See: http://www.christopherlewis.com/ExchangeSpamAssassin.htm

Notes for MTA-Integration Developers

See MtaIntegrationDevNotes.