Einzelne Email auf der Kommandozeile mit Spamassassin prüfen

Datum: 24.01.2014
Betriebssystem: Ubuntu, CentOS

Spamassassin läuft prinzipiell als Daemon im Hintergrund, zum Aufruf von der Kommandozeile ist spamc gedacht, dem wir im konkreten Fall aber den Socket mitteilen mussten, den er zur Kommunikation mit dem Daemon verwenden sollte.

Wir durchsuchen daher zuerst die ausführlichen Informationen von ps nach dem Daemon-Prozess:

$ ps -Af | grep spamd
root 5817 1 0 2013 ? 00:03:17 /usr/bin/spamd --daemonize --nouser-config --max-children 5 --create-prefs --pidfile=/var/run/spamd/spamd_full.pid --socketpath=/tmp/spamd_full.sock
popuser 31147 31146 0 17:41 ? 00:00:00 /usr/bin/spamc -s 256000 -u username -U /tmp/spamd_full.sock -E

Die Ausgabe liefert uns nicht nur den Socket-Pfad /tmp/spamd_full.sock sondern auch gleich ein Verwendungsbeispiel.

Da spamc von der Standard-Eingabe liest, müssen wir den Inhalt der Datei email.txt, die die Nachricht enthält, mittels cat auslesen und per Pipe an spamc schicken.

$ cat email.txt | spamc -c -U /tmp/spamd_full.sock
24.8/7.0

Die Ausgabe zeigt das Ergebnis der Bewertung durch Spamassassin sowie den Schwellenwert, ab dem ein Email als Spam zu betrachten ist. Im dargestellten Fall eine klare Sache.

Fragen, Anmerkungen, Korrekturen zu diesem Artikel »