Ein Content-Filter für Postfix. Er liest eine Nachricht von der Standardeingabe, fügt X-Spam-*-Header hinzu und übergibt sie mit demselben Umschlag an sendmail.
Shell
spamscanner filter -f "$sender" -- "$recipient"
Option
Bedeutung
--sendmail <path>
Standard /usr/sbin/sendmail
--subject-tag <tag>
Dem Betreff von Spam ein Präfix voranstellen
--reject
E-Mails ab dem Ablehnungsschwellenwert zurückweisen statt sie weiterzugeben
--discard
E-Mails ab dem Ablehnungsschwellenwert verwerfen statt sie weiterzugeben
Die Exit-Codes folgen den Konventionen von sendmail, die Postfix auswertet: 0 zugestellt (oder verworfen), 64 keine Empfänger angegeben, 69 als Spam abgewiesen (Postfix schickt eine Unzustellbarkeitsnachricht), 75 jeder andere Fehler, sodass Postfix die Nachricht behält und es später erneut versucht.
Port 783 ist der Port, den SpamAssassin-Clients standardmäßig verwenden. Ports unter 1024 benötigen root oder die Capability CAP_NET_BIND_SERVICE. Verwenden Sie einen anderen Port, etwa --port 7833, und teilen Sie ihn dem Client mit.
Option
Bedeutung
--port <n>
TCP-Port
--host <ip>
Adresse, auf der gelauscht wird (Standard 127.0.0.1)
--socket <path>
Stattdessen auf einem Unix-Socket lauschen
--reject
Milter: E-Mails ab dem Ablehnungsschwellenwert abweisen
--reject-code <n>
Milter: 451, später erneut versuchen (der Standard), oder 550
--quarantine
Milter: Spam in der Quarantäne des Mailservers zurückhalten
--name <hostname>
Milter: der Name dieses Servers in Authentication-Results
--token <secret>
HTTP: Authorization: Bearer <secret> verlangen; nötig für /learn
--allow-tell
spamd: TELL-Anfragen (spamc -L spam) zum Lernen annehmen
--out <file>
HTTP und spamd: Gelerntes in dieser Modelldatei speichern
--subject-tag <tag>
Milter und spamd: dem Betreff von Spam ein Präfix voranstellen
--verbose
Milter: jede Prüfung protokollieren. TCP-Server: mit einer Textzeile antworten
llm-test sendet eine gewöhnliche Nachricht und zwei Betrugsnachrichten, auf Englisch und Italienisch, an das Modell, gibt dessen Urteile, die Dauer jedes Urteils, die verwendete Methode und die Hardware aus und beendet sich nur dann mit 0, wenn alle drei richtig sind.
--config file.json (oder die Umgebungsvariable SPAMSCANNER_CONFIG) lädt Bibliotheksoptionen. Optionen auf der Kommandozeile haben Vorrang vor der Datei.