Eu tenho a regra da peneira:
if header :contains "subject" ["TOP-SECRET"] {
setflag "\\Seen";
fileinto :create "Hidden-Folder";
stop;
}
com base no qual tudo o que inclui TOP-SECRET
no assunto é movido para o hidden-folder
e definido como lido.
Existe alguma maneira de definir isso Hidden-Folder
como não inscrito (oculto na lista de pastas) via peneira? Ou como "enviar" qual arquivo de assinaturas de conta deve ser editado por um script?
Não acho que haja uma opção para configurar esse comportamento - nem no Sieve nem na configuração Pigeonhole ou Dovecot.
Mas posso propor uma solução alternativa: crie uma pasta oculta não assinada e coloque subdiretórios nela.
Se você criar uma pasta como
Hidden-Folder
a que você define como não inscrita (manualmente ou usandodoveadm
), uma açãofileinto :create "Hidden-Folder.Foo" will create the folder
fooinside
Hidden-Folder`, mas não a inscreve automaticamente.É claro que você também pode usar
vnd.dovecot.execute
e executardoveadm mailbox unsubscribe
para cancelar a assinatura da caixa de correio após executarfileinto
, ou até mesmo criar a caixa de correio (sem assiná-la) antes de arquivar a mensagem. No entanto, não estou tendo um bom pressentimento ao executar comandos do sistema por meio do Sieve; mesmo que seja apenas um comando predefinido com parâmetros bem verificados.Depois de alguns testes, consegui que a funcionalidade desejada funcionasse por meio de canalização para um script externo.
O código da peneira se parece com:
então o código sieve-pipe
my-script
se parece comNota lateral - certifique-se de que o proprietário de todas as caixas de correio
/mnt/var/mailboxes
seja Dovecot.