Dovecot-optimointia (spam-suodon parantelua)

Käytän sähköpostipalveluissani Dovecot-palvelinta (dovecot-imapd, Debian).

Tänään asensin lisäpaketin dovecot-antispam.
Kyseinen plugin mahdollistaa tunnistetulle spam-kansion (yleensä nimellä Junk) sähköpostien käsittelyn sa-learn (SpamAssassin Bayes-opetus) avulla heti viestin kansioon siirtäessä. Ja myös sisällön palauttamista tunnetuksi hyötysisällöksi ("ham") mikäli kansioon vahingossa päätynyt sähköposti palautetaan pois sieltä (muualle kuin roskakoriin).

Ohjeet ja skriptin pätkä löytyivät raimue.blog (2016/08/21) "setting up dovecot antispam with spamassassin"

Dovecot-antispam asennus meni lyhykäisyydessään seuraavasti:

apt-get install dovecot-antispam
joe /etc/dovecot/conf.d/90-plugin.conf
joe /usr/local/sbin/sa-learn-pipe
chmod +x /usr/local/sbin/sa-learn-pipe joe /etc/dovecot/conf.d/20-imap.conf
service dovecot restart

/etc/dovecot/conf.d/90-plugin.conf: (lisää rivit)
plugin {
# dovecot-antispam
antispam_backend = pipe
antispam_trash = trash;Trash;Deleted Items;Deleted Messages;Roskakori;roskakori
antispam_spam = Junk;SPAM;spam;junk
antispam_pipe_program = /usr/local/sbin/sa-learn-pipe
antispam_pipe_program_spam_arg = --spam
antispam_pipe_program_notspam_arg = --ham
antispam_pipe_tmpdir = /tmp
}

/usr/local/sbin/sa-learn-pipe: (uusi tiedosto)
#!/bin/bash
out=$(sa-learn "$@" - 2>&1)
ret=$?
if [ $ret -gt 0 ]; then
logger -p mail.err -i -t "${0##*/}" "${1//[^a-z]/}: $out"
fi
exit $ret

(Tähän on monta vaihtoehtoista lähestymistapaa, myöhemmin vaihdoin hieman erilaiseen toteutukseen.)

/etc/dovecot/conf.d/20-imap.conf: (uusi rivi)
protocol imap {
mail_plugins = antispam
}