Spamassassin ist ein Scanner welcher Spam- und/oder Ham- Mails erkennt.
Das Mysql-Schema von apache.org herunterladen
wget http://svn.apache.org/repos/asf/spamassassin/tags/spamassassin_release_3_4_2/sql/bayes_mysql.sql
Danach eine neue Datenbank und einen neuen Benutzer erstellen:
mysql -uroot -p create database spamassassin; use mysql; create user 'spamassassin'@'localhost' identified by '<PASSWORD>'; grant all on spamassassin.* to 'spamassassin'@'localhost'; flush privileges; quit
Nun die neue Datenbank mit Leben füllen:
mysql -uroot -p spamassassin < bayes_mysql.sql
Nachdem mySQL eingerichtet ist, fordert man spamassassin auf, diese zu benutzen.
vi /etc/spamassassin/local.cf
Inhalt:
bayes_store_module Mail::SpamAssassin::BayesStore::MySQL bayes_sql_dsn DBI:mysql:spamassassin:localhost bayes_sql_username spamassassin bayes_sql_password <PASSWORD> bayes_sql_override_username dovecot # Benutzerdefinierte Adress-Filter aus Sauserprefs in Roundcube user_scores_dsn DBI:mysql:spamassassin:localhost user_scores_sql_password <PASSWORD> user_scores_sql_username spamassassin user_scores_sql_custom_query SELECT preference, value FROM userpref WHERE username = '$GLOBAL' or username LIKE CONCAT('%','@<DOMAIN.TLD>') OR username LIKE CONCAT('%','@<DOMAIN.TLD>') ORDER BY username ASC
vi /etc/default/spamassassin
Inhalt: folgende Zeile ggf. ergänzen:
OPTIONS="--create-prefs --max-children=5 --username=debian-spamd --helper-home-dir=/var/log/spamassassin/ --syslog=local5 --virtual-config-dir=/var/vmail/.spamassassin --sql-config --nouser-config -x -q"
Nun Spamassassin neustarten
systemctl restart spamassassin
Mit der Beispiel-Spam-Mail, welche im Paket „Spamassassin“ mitgeliefert wird, testet man das lernen und die Verbindung zur Datenbank.
sa-learn --spam --username=dovecot /usr/share/doc/spamassassin/examples/sample-spam.txt
Mit diesem Befehl liest man die gelernten Daten aus.
sa-learn --dump all
Nun kann man z.B. im Webmailer Roundcube das Plugin „markasjunk“ in Verbindung mit „sauserprefs“ nutzen. siehe Roundcube-Plugins