Как создать папку, но не подписаться на нее в Dovecot's Sieve?

У меня есть правило сита:

 if header :contains "subject" ["TOP-SECRET"] {
    setflag "\\Seen";
    fileinto :create "Hidden-Folder";
    stop;
}

на основе которого все, что включает СОВЕРШЕННО СЕКРЕТНО в теме, перемещается в ] скрытая папка и установить как прочитанное.

Есть ли способ настроить эту скрытую папку как неподписанную (скрытую из списка папок) через сито? Или как указать, какой файл подписок на учетную запись должен редактироваться скриптом?

1
задан 6 December 2016 в 23:59
2 ответа

После некоторого тестирования я получил желаемую функциональность для работы, подключив ее к внешнему скрипту.

Код Sieve выглядит так:

if envelope :matches "To" "*@*" {
  set "recipient" "${0}";
}

     if header :contains "subject" ["TOP-SECRET"] {
        setflag "\\Seen";
        fileinto :create "Hidden-Folder";
        pipe "my-script" ["${recipient}"]; 
        stop;
    }

затем код sieve-pipe my-script код выглядит как

#!/bin/bash

mbox=$1
result=`find /mnt/var/mailboxes -type d -name $mbox`
perl -pi -e 's/Hidden-Folder//g' $result/subscriptions

Side Примечание - убедитесь, что владельцем всех почтовых ящиков в / mnt / var / mailboxes является Dovecot.

0
ответ дан 4 December 2019 в 05:34

Я не думаю, что есть возможность настроить такое поведение - ни в Sieve, ни в конфигурации Pigeonhole или Dovecot.

Но я могу предложить обходной путь: создайте скрытую папку без подписки и поместите в нее подкаталоги.

Если вы создаете такую ​​папку, как Hidden-Folder , которую вы определяете как неподписанную (вручную или с помощью doveadm ), действие fileinto: create «Hidden-Folder. Foo "создаст папку foo внутри Hidden-Folder`, но не подпишется на нее автоматически.

Конечно, вы также можете использовать vnd.dovecot.execute и запустить doveadm mailbox unsubscribe , чтобы отменить подписку на почтовый ящик после запуска fileinto , или даже создать почтовый ящик (без подписки) перед отправкой сообщения. Однако я не очень-то чувствую, что выполняю системные команды через Sieve; даже если это всего лишь предопределенная команда с хорошо проверенными параметрами.

0
ответ дан 4 December 2019 в 05:34

Теги

Похожие вопросы