main

Обратная связь Dovecot с Bogofilter

Не хочу ещё раз проходить это квест, поэтому выкладываю конфиги для настройки связки dovecot/bogofilter (-LDA +maildir +per_user).

Впринципе, вместо последного можно воткнуть всё что угодно, что может принимать спам на stdin.

/etc/dovecot/conf.d/20-imap.conf:

  protocol imap {
  ...
  mail_plugins = $mail_plugins antispam
  ...
}

/etc/dovecot/conf.d/90-plugin.conf:

plugin {
  # antispam_debug_target = syslog
  # antispam_verbose_debug = 1
  antispam_backend = pipe
  antispam_signature = X-Bogosity
  antispam_signature_missing = move
  antispam_trash = Trash
  antispam_spam = Spam;Junk
  #
  antispam_pipe_tmpdir = /tmp
  antispam_pipe_program = /usr/bin/bogofilter
  antispam_pipe_program_args = -d;%h/.bogofilter
  antispam_pipe_program_spam_arg = -s
  antispam_pipe_program_notspam_arg = -n
}

где %h - это $HOME.

Проверьте, что директория %h/.bogofilter/ существует и имеет доступ на запись для того юзера, от которого работает mda. Также может потребоваться скормить какое-либо письмо, чтобы был создан начальный конфиг и словарь.

/etc/apparmor.d/usr.bin.bogofilter-bdb:

  #include <tunables/global>

  /usr/bin/bogofilter-bdb flags=(complain) {
  #include <abstractions/base>
  #include <abstractions/nameservice>

  /etc/bogofilter.cf r,
  /home/*/.bogofilter/ r,
  /home/*/.bogofilter/* rwk,
  /root/.bogofilter/ rw,
  /root/.bogofilter/* rwk,
  /tmp/antispam-mail-*/* r,
  /usr/bin/bogofilter-bdb mr,
}