Вызвать фильтрацию вручную в dovecot+sieve
Я настроил dovecot с ситовой фильтрацией (также я настроил roundcube, но я не думаю, что это имеет значение).
Работает нормально, я настроил несколько фильтров. Но теперь у меня есть огромная нефильтрованная папка INBOX, которую я не хочу фильтровать вручную.
Есть ли способ сказать: "Эй, сито! Просканируйте указанную папку для указанного пользователя и активируйте на ней некоторые фильтры!"?
Sieve as plugin включен для двух протоколов: lda и lmtp:
protocol lda {
mail_plugins = $mail_plugins sieve
}
protocol lmtp {
postmaster_address = postmaster@example.com
mail_plugins = sieve
}
2 ответа
Чтобы выполнить ваши фильтры на существующий почтовый ящик, вы можете запустить вручную sieve-filter
из командной строки.
(Сухой) запустить сито-скрипт example.sieve
как пользователь test
на почтовом ящике INBOX
используйте следующую команду:
sieve-filter -v -C -u test /path/to/sieve/example.sieve 'INBOX'
Если вам понравились действия, которые выполняет sieve, вы можете выполнить скрипт с добавлением -e
для выполнения и -W
дать сито доступ для записи.
Для получения дополнительной информации посетите официальную справочную страницу: http://pigeonhole.dovecot.org/doc/man1/sieve-filter.1.html
Это просто:(
sudo su user-which-owns-mails
sieve-filter -e -W -u targetuset@domain.com /path/to/sieve/script.sieve INBOX