Вызвать фильтрацию вручную в 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
Другие вопросы по тегам