Вот как это решается (это заняло 7 месяцев):
apt install dovecot-sieve dovecot-managesieved nano /etc/dovecot/conf.d/90-plugin.conf
Добавить или установить в:
protocol lmtp { mail_plugins = $mail_plugins sieve auth_socket_path = /var/run/dovecot/auth-master }
nano /etc/dovecot/sieve.conf
Добавить в:
require ["fileinto", "mailbox"]; if header :contains "X-Spam-Flag" "YES" { # move mail into Folder Spam, create folder if not exists fileinto :create "Spam"; stop; }
Выполнение:
sievec /etc/dovecot/sieve.conf nano /etc/spamassassin/local.cf
Добавьте или установите его, это так (я думаю, вам не нужно все остальное):
report_safe 0 required_score 2.0 use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 skip_rbl_checks 0 use_razor2 1 use_pyzor 0 add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ version=_VERSION_ bayes_ignore_header X-Bogosity bayes_ignore_header X-Spam-Flag bayes_ignore_header X-Spam-Status
Снова отредактируйте новый файл:
nano /etc/dovecot/conf.d/90-sieve.conf
Установите этот конфиг, вам больше ничего не нужно:
plugin { sieve = /etc/dovecot/sieve.conf }
Отредактируйте почтовые ящики, так что у Джо есть Junk, я думаю, что Джо просто нужно добавить или раскомментировать настройку Junk:
nano /etc/dovecot/conf.d/15-mailboxes.conf
Добавьте в этот конфиг:
namespace inbox { mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Trash { auto = subscribe special_use = \Trash } mailbox Sent { auto = subscribe special_use = \Sent } }
Мой пользователь для почтового сервера vmail
, поэтому сделайте так:
chmod ug+w /etc/dovecot chmod ug+w /etc/dovecot/sieve.conf.svbin
chown -R vmail:vmail /etc/dovecot
Перезагрузите ваш почтовый сервер:
service postfix reload && service spamassassin restart && service dovecot restart