READ "UPGRADE" IF YOU ARE UPGRADING FROM A PREVIOUS VERSION Cron job -------- There is a cron job in /etc/cron.daily/spamassassin that will automatically run sa-update and reload spamd every day if it is enabled. To enable this script, edit /etc/default/spamassassin. sa-update, when run as root, downloads the latest set of rules distributed by upstream to a directory under /var/lib/spamassassin. This script will work correctly with sa-compile (see below). sa-compile ---------- This package now includes a new plugin to greatly improve the performance of SpamAssassin by compiling a ruleset using re2c. Please read the "sa-compile" manpage for more information. To enable this enhancement, you will need to uncomment a line in /etc/spamassassin/v320.pre and make sure the following packages are installed: aptitude install re2c libc6-dev gcc make The "compiled" ruleset is used whenever possible to speed spamassassin up. If you disable or change a rule in the configuration, the compiled version will no longer be used. If you create or change a rule, you will want to run sa-compile to generate the compiled version to improve performance, but if you don't you will simply use the un-compiled version. Trusted Networks ---------------- SpamAssassin has a built in guessing algorithm to determine which Received headers in a message are trustworthy and which are not. You should ensure that the configuration option trusted_networks and internal_networks are set correctly, especially if you are experiencing false positives from tests referring to Received headers. Please read man Mail::SpamAssassin::Conf for more information on this. Plugins ------- As of version 3.1.0, much of the functionality in SpamAssassin relating to external programs and perl modules has been removed and placed in plugins. For example, Razor, DCC and Pyzor have been "pluginized". Plugins can be enabled and disabled in /etc/spamassassin/init.pre and /etc/spamassassin/v310.pre. You may wish to read through those files to see which plugins you might want to install. In general, plugins may have dependencies that you may need to install for them to function. For example, the Razor2 plugin requires that you install razor. You should read the manpage before enabling a plugin. Please note that DCC is disabled by default as it is not free. Configuring spamd ----------------- spamd, the daemonized form of spamassassin, is generally the preferred way of running spamassassin. Please read man spamd and README.spamd for more information. Init scripts are provided with this package in /etc/init.d/spamassassin. To change the command line options, please edit /etc/default/spamassassin. If you intend to use Bayes sitewide, it is recommended that you set up an SQL-based Bayes storage module. (You may also want to store scores and other prefences in SQL too.) Please read the documentation in /usr/share/doc/spamassassin/sql/ for more information. Please note that SQL storage is not very private -- anyone that has access to the database can read and write it freely, meaning users could corrupt other users' Bayes databases. Please note that the --auth-ident option does not work with pidentd or gidentd. See http://bugs.debian.org/278030 for more information. Poor Performance ---------------- If you experience poor performance with spamd, please ensure that you have not set the --max-children option too high. spamd now uses a "Apache httpd style scaling" algorithm to prefork children, so these children will always be present. Please note also that there seems to be a bug with respect to how memory usage is reported by the kernel to programs such as top. Multiple spamd children share much more memory than is indicated. One common problem with spamd is that load spikes whenever the Bayes database needs to be sync'd. This is especially true right after an upgrade. It's often a good idea to do this manually right after you upgrade with the command: sa-learn --sync for each user/Bayes DB. (You can use the --dbpath option to specify the database path) You can also disable automatic expiry by setting the "bayes_auto_expire 0" option in your configuration and running sa-learn --force-expire from a cronjob. See http://wiki.spamassassin.org/BayesForceExpire Mail stream integration ----------------------- There is also a very incomplete set of examples in the examples/ directory. More examples are welcome! Please file a bug against spamassassin with the minor or wishlist severity and attach a file or patch. There is a large amount of information on setting spamassassin up with your mail system at http://wiki.apache.org/spamassassin/UsingSpamAssassin. Configuration Files ------------------- To add rules, change scores or edit the report template, edit /etc/spamassassin/local.cf. Please don't touch the files in /usr/share/spamassassin, as you will NOT be prompted to overwrite them on upgrade. Configuration file details are available in the Mail::SpamAssassin::Conf(3) man page. User-specific configuration is the automatically created ~/.spamassassin/user_prefs, which is copied from /etc/spamassassin/user_prefs.template. It is automatically created whenever spamassassin is called, or when spamc is used with 'spamd -c'. Semi-free RBLs -------------- The spamhaus SURBL blacklists are both offer free service to relatively small mail systems (less than approximately 1,000 mailboxes or 250,000 emails per day). Larger systems require a paid service. These blacklists are enabled by default in this package, but should be disabled if you run a large system and do not pay for these services. Non-free RBLs ------------- By default, spamassassin checks certain free RBLs. Other, commercial RBLs can easily be enabled. See the README for more information. Furthermore, SpamAssassin supports using third-party programs Razor, DCC and Pyzor, but Razor and DCC are disabled by default since they are not free for non-personal use. Feel free to enable them in /etc/spamassassin/init.pre IPv6 ---- Some users have reported difficulty running spamd with an IPv6 listening address. As a work around, please ensure you have libio-socket-inet6-perl installed. -- Duncan Findlay , Mon, 21 May 2007 23:53:57 -0400