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

    6 Kommentare

    1. toxic01413 on

      Vielen Dank an dieser Stelle für die Anleitung. Ein kleiner Fehler ist jedoch enthalten:

      user_awl_sql_passwort

      wird zu:

      user_awl_sql_password

      mit D(ora) am Ende, sonst gibt das unschöne Flüche in der Log. 😉

    2. bin deiner anleitung gefolgt, kann leider keine einträge in der db erkennen. wie kann ich am besten sehen wo der fehler liegt… die log von spamassassin kannich nicht finden

      wynni

    3. Ich würd die Dateien die Spamassassin zum lernen der E-Mails verwendet (bayes_seen, bayes_toks) einmal verschieben. Anschließend Spamassassin neu starten und mittels sa-learn eine E-Mail verarbeiten. Legt Spamassassin die Dateien neu an, werden noch die lokale Dateien genutzt und nicht die MySQL DB. In diesem Fall schau Dir nochmal die Konfiguration an.

      Was sagt denn die Ausgabe
      select count(*) from awl;
      Bekommst Du einen Wert größer 0 zurück? Wenn ja, hat Spamassassin die MySQL DB schonmal genutzt.

    4. ok, jetzt klappt es doch noch… die daten werden in mysql abgelegt.
      danke. ich würde gerne auch manuell black-whitelisten. ist das auch möglich??

    Leave A Reply