Я настроил dovecot с фильтрацией сита (также я настроил roundcube, но я думаю, это не имеет значения).
Работает нормально, я настроил несколько фильтров. Но теперь у меня есть огромная нефильтрованная папка INBOX, которую я не хочу фильтровать вручную.
Есть ли способ сказать: «Эй, сито! Просканируйте указанную папку для указанного пользователя и вызовите для нее какие-то фильтры!» ?
Плагин Sieve включен для двух протоколов: lda и lmtp:
protocol lda {
mail_plugins = $mail_plugins sieve
}
protocol lmtp {
postmaster_address = postmaster@example.com
mail_plugins = sieve
}
Чтобы выполнить фильтры на существующем почтовом ящике, вы можете вручную запустить sieve-filter
из командной строки.
Для (сухого) запуска скрипта sieve example.sieve
как пользователь test
в почтовом ящике INBOX
используйте следующую команду:
sieve-filter -v -C -u test /path/to/sieve/example.sieve 'INBOX'
Как только вам понравятся действия, которые будет выполнять сито, вы можете выполнить скрипт с добавлением -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