3.2.2 is BROKEN, isn't entirely correct, but the idea is:

POSIX::setuid($uuid);  # set effective and real UID




Compiled rulesets.

Related software

Useful commands

  • sa-update -D
  • sa-compile (to be run after sa-update!)
  • spamassassin -D --lint
  • /usr/local/share/spamassassin/tools/check_whitelist

SpamAssassin and userprefs on MySQL

Useful when using shared bayesdb and squirrelmail sasql. Read /usr/share/doc/spamassassin/sql.

mysql -u root -p
mysql>grant insert,select,delete,update on sasql.* to 'sasqluser'@'localhost' identified by 'sasqlpass';
mysql>flush privileges;
mysql>create database sasql;
mysql sasql -u root -p < /usr/share/doc/spamassassin/sql/userpref_mysql.sql

and make sure to run spamd with the options -q -x.

On debian you set those in /etc/default/spamassassin under "OPTIONS".


default scores


dns: sendto() failed: Connection refused

check if first nameserver in /etc/resolv.conf actually works. if you changed your nameserver configuration, restart spamassassin.

what do those rule names mean?

testing spamassassin

spamd -D 

netset: illegal network address given

with some luck this means you have to check your "trusted_networks" line in

The output of things like _REPORT_ and _TESTS_

hardcoded in

bayes: cannot open bayes databases /var/spool/MIMEDefang/.spamassassin/bayes_* R/W: lock failed: File exists

MIGHT mean there's stale lockfiles /var/spool/MIMEDefang/.spamassassin/bayes.lock.* stop whatever is running, remove them and try again

config: failed to parse, now a plugin, skipping: ok_languages


loadplugin     Mail::SpamAssassin::Plugin::TextCat

spamass-milter[61354]: Could not retrieve sendmail macro "r"!.

Please add it to confMILTER_MACROS_ENVRCPT for better spamassassin results


spamd: unauthorized connection from xxx

that's the -A option

prefork: sysread(8) not ready, wait max 300 secs

A Bug

Can't locate Mail/SpamAssassin/CompiledRegexps/ in @INC

Try running sa-compile and complain to author.

bayes: cannot open bayes databases /var/mail/bayes/.spamassassin/bayes_* R/W: tie failed: Inappropriate ioctl for device

Means your BDB files are of/from wrong version

http: request failed: 500 Can't connect to (Bad hostname ''):

probably freebsd? check /var/db/spamassassin/*/updates_spamassassin_org/MIRRORED.BY

sa-compile: not compiling; 'spamassassin --lint' check failed!

Perlish for "ERROR: some error"