У меня проблема с плагином антиспама, использующим dovecot 2.1.7 и dspam 3.10.1.
Я думаю, что плагин антиспама не распознает Junk-Folder, потому что журнал сообщает
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
не предполагает проведения какого-либо обучения.
Спасибо за вашу помощь, Ральф
Хорошо, в моей установке было две неправильной конфигурации.
Первый
Почтовые ящики моих виртуальных пользователей расположены по адресу
/var/mail/vhosts/<domain>/<username>
и не
/var/mail/vhosts/<domain>/<username>/.INBOX
Расположение папки нежелательной почты:
/var/mail/vhosts/<domain>/<username>/.Junk
но (или для этого) INBOX пространства имен IMAP указывает на
/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