dovecot-antispamが動いてなかった

迷惑メールフィルタのデータベースメンテナンスにdovecot-antispamを使っているのだが、これがきちんと動いていなかったことに気付いた。いったい何か月動いてなかったんだろう。

もう長いこと使っている迷惑メールフィルタなので、迷惑メール情報が更新されなくてもそれなりに機能してしまう。よって、まったく新しい迷惑メールがいくつも届く状況にあってようやく気付いた。

原因は設定もれ。wheezyに更新したあたりでdovecot.confが分割された際の移行ミスでmail_pluginsの設定が抜けていた。

最初、グローバルのmail_plugins(10-mail.conf)にantispamを加えたのだが、これではLDAでエラーになる。imapのmail_pluginsa(20-imap.conf)にantispamを加えるのが正しいようだ。

$ grep  mail_plugins conf.d/20-imap.conf
  # Space separated list of plugins to load (default is global mail_plugins).
  mail_plugins = $mail_plugins antispam

また、antispamからプログラムが起動される際に設定される環境変数に変化があったようで、迷惑メールフィルタとして使っているbsfilterでエラーが出るようになった。きちんと確認したわけではないのだが、動作からするとHOMEが設定されなくなったのではないかと思う。

もともと動作状態を見るためにごく簡単なshスクリプトを介してbsfilterを起動していたので、これに少し手を加えてBSFILTERHOMEを設定するようにした。場当たり対処……。

#!/bin/sh
BSFILTERHOME=$PWD
export BSFILTERHOME

exec /usr/bin/bsfilter $@