Назад | Перейти на главную страницу

вызвать фильтрацию вручную в dovecot + sieve

Я настроил 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