Melhoria #778
Atualização da Janela de Filtros de Email
100%
Descrição
Reformular a janela de Filtros de Email, utilizando biblioteca Jquery e possibilitar as seguintes melhorias:
- Converter o tráfego de dados entre frontend e backend, para o formato Json;
- Possibilitar a informação de mais de um email de encaminhamento de mensagem.
Exemplo de sintaxe para encaminhar a mais de um destinatário:
elsif anyof (header :contains ["From"] "remetente@celepar.pr.gov.br") { redirect "emailexterno@email.com"; redirect "emailexterno2@email.com"; }
Protótipo de janela: (ver imagem em anexo)
Documentação adicional, para consulta sobre Sieve:
protonmail.com/support/knowledge-base/sieve-advanced-custom-filters/ github.com/ProtonMail/libsieve-php github.com/ProtonMail/libsieve-php/tree/master/tests/good
Subtarefas
Revisões associadas
Issue #778 - Criação da branch nova_interface_sieve
Histórico
#1 Atualizado por Mauricio Luiz Viani há mais de 4 anos
- Arquivo prototipo-janela-filtros.jpg adicionado
#2 Atualizado por Alexandre Luiz Correia há mais de 4 anos
- Arquivo TABLE_SIEVE adicionado
#4 Atualizado por Mauricio Luiz Viani há mais de 4 anos
- Situação alterado de Nova para Fechada
#5 Atualizado por Mauricio Luiz Viani há mais de 4 anos
- Arquivo documento-explicativo-sieve.pdf adicionado
#6 Atualizado por Mauricio Luiz Viani há mais de 3 anos
Exemplo de script para enviar fora de escritório para todas as mensagens recebidas:
1: # Mail filter rules for fulano 2: # Generated by using Expressomail 3: # Created - 2021/07/02 4: require["fileinto","date","vacation-seconds","relational","include"]; 5: 6: if allof (currentdate :value "ge" "date" "2021-07-19", currentdate :value "le" "date" "2021-07-28"){ 7: vacation :seconds 0 :addresses ["fulano@dominio.gov.br"] "Ausente em férias. Respondo mensagens assim que possível."; 8: } 9: 10: 11: include :global "admin-filters"; 12: 13: if anyof (header :contains ["From"] "email@expressolivre.org"){ 14: fileinto "INBOX/Expresso/Trac"; 15: } 16:
Como configurar:
1) Atualizar imapd.conf, incluindo:
sieve_vacation_min_response: 0
2) Incluir o módulo vacation-seconds no script
3) Utilizar o parâmetro:
:seconds 0
Caso aconteça problema de caracteres trocados no subject da mensagem, encontramos uma anotação de bug no Cyrus:
https://github.com/cyrusimap/cyrus-imapd/issues/38
Caso aconteça, é melhor deixar o subject fixo