Un content filter di Postfix. Legge un messaggio dallo standard input, aggiunge le intestazioni X-Spam-* e lo passa a sendmail con lo stesso envelope.
Shell
spamscanner filter -f "$sender" -- "$recipient"
Opzione
Significato
--sendmail <path>
Predefinito /usr/sbin/sendmail
--subject-tag <tag>
Aggiunge un prefisso all'oggetto dello spam
--reject
Rimanda al mittente la posta che raggiunge la soglia di rifiuto invece di inoltrarla
--discard
Scarta la posta che raggiunge la soglia di rifiuto invece di inoltrarla
I codici di uscita seguono le convenzioni di sendmail, che Postfix legge: 0 consegnato (o scartato), 64 nessun destinatario indicato, 69 rifiutato come spam (Postfix lo rimanda al mittente), 75 qualsiasi errore, quindi Postfix conserva il messaggio e riprova più tardi.
La porta 783 è quella usata per impostazione predefinita dai client SpamAssassin. Le porte sotto 1024 richiedono root o la capability CAP_NET_BIND_SERVICE; usa un'altra porta, come --port 7833, e indicala al client.
Opzione
Significato
--port <n>
Porta TCP
--host <ip>
Indirizzo su cui restare in ascolto (predefinito 127.0.0.1)
--socket <path>
Resta invece in ascolto su un socket Unix
--reject
Milter: rifiuta la posta che raggiunge la soglia di rifiuto
--reject-code <n>
Milter: 451, riprova più tardi (il valore predefinito), o 550
--quarantine
Milter: trattiene lo spam nella quarantena del server di posta
--name <hostname>
Milter: il nome di questo server in Authentication-Results
--token <secret>
HTTP: richiede Authorization: Bearer <secret>; necessario per /learn
--allow-tell
spamd: accetta le richieste TELL (spamc -L spam) per l'apprendimento
--out <file>
HTTP e spamd: salva ciò che viene appreso in questo file di modello
--subject-tag <tag>
Milter e spamd: aggiunge un prefisso all'oggetto dello spam
--verbose
Milter: registra ogni analisi. Server TCP: risponde con una riga di testo
llm-test invia al modello un messaggio normale e due truffe, in inglese e in italiano, stampa i suoi verdetti, il tempo impiegato per ciascuno, il metodo usato e l'hardware, ed esce con 0 solo se tutti e tre sono corretti.
--config file.json (o la variabile d'ambiente SPAMSCANNER_CONFIG) carica le opzioni della libreria. Le opzioni della riga di comando hanno la precedenza sul file.