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

9

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

Ответы:

13

Чтобы выполнить ваши фильтры в вашем существующем почтовом ящике, вы можете запустить их вручную sieve-filterиз командной строки.

Чтобы (высушить) запустить sieve-скрипт example.sieveот имени пользователя testв почтовом ящике, INBOXиспользуйте следующую команду:

sieve-filter -v -C -u test /path/to/sieve/example.sieve 'INBOX'

После того, как вам понравится действие, которое будет выполнять sieve, вы можете выполнить скрипт с добавлением -eдля выполнения и -Wпредоставить доступ для записи в sieve.

Для получения дополнительной информации посетите официальную справочную страницу: http://pigeonhole.dovecot.org/doc/man1/sieve-filter.1.html.

debite
источник
к сожалению, кажется, что duplicate-extension не работает в контексте фильтра sieve.
Привет
1

Это просто :(

sudo su user-which-owns-mails
sieve-filter -e -W -u targetuset@domain.com /path/to/sieve/script.sieve INBOX
Arenim
источник