Skip to content

Spamassassin: Whitelisting in MySQL DB speichern

So wie die Bayes Werte in einer DB gespeichert werden können, lohnt es sich auh evtl. das automatische whitelisting in eine MySQL DB zu verlegen.

  • Vorraussetzungen
perl -MCPAN -e shell
install DBD::mysql

apt-get install libtie-cache-perl libdbd-mysql-perl
  • Nun wird die notwendige DB angelegt
mysqladmin -p create spamassassin_db -u root
  • Vergabe der Rechte für einen speziellen User
grant all privileges on spamassassin_db.* to spamassassin_usr@localhost identified by 'password';
  • anlegen der notwendigen Tabellen
mysql -u root spamassassin_db -p < /usr/share/doc/spamassassin/sql/awl_mysql.sql  
  • /etc/spamassassin/local.cf um die SQL-DB Einträge erweitern
use_auto_whitelist 1
user_awl_dsn DBI:mysql:spamassassin_db:localhost
user_awl_sql_username spamassassin_usr
user_awl_sql_password <pwd>
user_awl_sql_table awl       

Dabei müssen Sie darauf achten, dass der Zugriff auf die alte autowhiteliste deaktiviert wurde

#auto_whitelist_path /var/spool/spamassassin/auto-whitelist
#auto_whitelist_file_mode 0666  

eine Änderung der Konfiguration der bayes-DB merkt Spamassassin i.d.R. sofort. Starte Sie dennoch den Dienst neu:

/etc/init.d/spamassasin restart

Um zu prüfen, ob die bayes Einträge auch korrekt abgelegt werden reicht es, sich den Inhalt einer der Tabellen anzuschauen. Steht unter Count eine Zahl > 0 sind bereits Datein gespeichert worden:

mysql -u root -p
mysql> use spamassassin_db;
mysql> select count(*) from awl;
+----------+
| count(*) |
+----------+
|        1 |
+----------+
1 row in set (0.01 sec)

Ein Blick in die Log-Datei von Spamassassin schadet auf keinen Fall. Wo diese liegt, kann man der Datei /etc/default/spamassassin entnehmen


Zuletzt aktualisiert: 6. April 2008 — 11:41