Dovecot 反垃圾邮件插件未触发

Dovecot 反垃圾邮件插件未触发

我在使用 dovecot 2.1.7 和 dspam 3.10.1 的反垃圾邮件插件时遇到了问题。

我认为反垃圾邮件插件无法识别垃圾文件夹,因为日志报告

Mar 25 13:11:22 mail imap: antispam: mailbox_is_spam(Junk): 0

在用 Google 找到很少的结果后,我很确定输出应该是

mailbox_is_spam(垃圾邮件):1

dovecot 反垃圾邮件配置如下:

protocol imap {
  mail_plugins = $mail_plugins antispam
}


plugin {
  antispam_debug_target = stdout
  antispam_verbose_debug = 1

  antispam_backend = dspam
  antispam_signature = X-DSPAM-Signature
  antispam_signature_missing = error

  antispam_trash = Trash
  antispam_spam = Junk

  antispam_dspam_binary = /usr/bin/dspam
  antispam_dspam_args = --client;--user=%u;--source=error
}

使用 Thunderbird 手动将邮件移至垃圾邮件文件夹时,会发生以下情况:

Mar 25 13:24:22 mail imap: antispam: mailbox_is_unsure(Junk): 0
Mar 25 13:24:22 mail imap: antispam: mailbox_is_trash(INBOX): 0
Mar 25 13:24:22 mail imap: antispam: mailbox_is_trash(Junk): 0
Mar 25 13:24:22 mail imap: antispam: mail copy: from trash: 0, to trash: 0
Mar 25 13:24:22 mail imap: antispam: mailbox_is_spam(INBOX): 0
Mar 25 13:24:22 mail imap: antispam: mailbox_is_spam(Junk): 0
Mar 25 13:24:22 mail imap: antispam: mailbox_is_unsure(INBOX): 0
Mar 25 13:24:22 mail imap: antispam: mail copy: src spam: 0, dst spam: 0, src unsure: 0

Mar 25 13:24:31 mail imap: antispam: plugin initialising (2.0-notgit)
Mar 25 13:24:31 mail imap: antispam: verbose debug enabled
Mar 25 13:24:31 mail imap: antispam: "Junk" is exact match spam folder
Mar 25 13:24:31 mail imap: antispam: no unsure folders
Mar 25 13:24:31 mail imap: antispam: "Trash" is exact match trash folder
Mar 25 13:24:31 mail imap: antispam: dspam binary set to /usr/bin/dspam
Mar 25 13:24:31 mail imap: antispam: dspam extra arg --client
Mar 25 13:24:31 mail imap: antispam: dspam extra arg --user=vmail
Mar 25 13:24:31 mail imap: antispam: dspam extra arg --source=error
Mar 25 13:24:31 mail imap: antispam: signature header line is "X-DSPAM-Signature"

但检查dspam_stats并不表明已经进行过任何培训。

谢谢你的帮助,拉尔夫

答案1

好的,我的设置有两个错误配置。

首先

我的虚拟用户收件箱位于

/var/mail/vhosts/<domain>/<username>

不是

/var/mail/vhosts/<domain>/<username>/.INBOX

垃圾文件夹位置是

/var/mail/vhosts/<domain>/<username>/.Junk

但(或因此)IMAP 命名空间 INBOX 指向

/var/mail/vhosts/<domain>/<username>/.INBOX

我的配置必须是

antispam_spam = INBOX/Junk

第二配置错误实际上与问题无关,但我无论如何都会发布答案:

命令dspam参数是--user <username>且不是--user=<username>(等号是错误的),因此配置必须是:

antispam_dspam_args = --client;--source=error;--user;%u

代替

antispam_dspam_args = --client;--user=%u;--source=error

相关内容