Un filtre de contenu Postfix. Il lit un message sur l’entrée standard, ajoute les en-têtes X-Spam-* et le transmet à sendmail avec la même enveloppe.
Shell
spamscanner filter -f "$sender" -- "$recipient"
Option
Signification
--sendmail <path>
/usr/sbin/sendmail par défaut
--subject-tag <tag>
Ajoute un préfixe à l’objet du spam
--reject
Renvoie à l’expéditeur le courrier au seuil de rejet au lieu de le transmettre
--discard
Supprime le courrier au seuil de rejet au lieu de le transmettre
Les codes de sortie suivent les conventions de sendmail, que Postfix lit : 0 distribué (ou supprimé), 64 aucun destinataire indiqué, 69 rejeté comme spam (Postfix le renvoie à l’expéditeur), 75 tout autre échec, et Postfix conserve alors le message pour réessayer plus tard.
Le port 783 est celui qu’utilisent par défaut les clients SpamAssassin. Les ports inférieurs à 1024 nécessitent root ou la capacité CAP_NET_BIND_SERVICE ; utilisez un autre port, comme --port 7833, et indiquez-le au client.
Option
Signification
--port <n>
Port TCP
--host <ip>
Adresse d’écoute (127.0.0.1 par défaut)
--socket <path>
Écoute plutôt sur un socket Unix
--reject
Milter : refuse le courrier au seuil de rejet
--reject-code <n>
Milter : 451, réessayer plus tard (par défaut), ou 550
--quarantine
Milter : place le spam dans la quarantaine du serveur de messagerie
--name <hostname>
Milter : le nom de ce serveur dans Authentication-Results
--token <secret>
HTTP : exige Authorization: Bearer <secret> ; nécessaire pour /learn
--allow-tell
spamd : accepte les requêtes TELL (spamc -L spam) pour apprendre
--out <file>
HTTP et spamd : enregistre ce qui est appris dans ce fichier de modèle
--subject-tag <tag>
Milter et spamd : ajoute un préfixe à l’objet du spam
--verbose
Milter : journalise chaque analyse. Serveur TCP : répond par une ligne de texte
llm-test envoie au modèle un message ordinaire et deux arnaques, en anglais et en italien, affiche ses verdicts, le temps pris par chacun, la méthode utilisée et le matériel, et ne sort avec le code 0 que si les trois sont corrects.
--config file.json (ou la variable d’environnement SPAMSCANNER_CONFIG) charge des options de la bibliothèque. Les options de la ligne de commande ont priorité sur le fichier.