Preciso fazer um filtro para mensagens enviadas. Para copiar mensagens se "para" contiver o endereço de e-mail fornecido.Eu tenho:
# rule:[Copy to slack]
if address :contains "to" "[email protected]"
{
redirect :copy "[email protected]";
}
e eu tento
# rule:[Copy to slack]
if address :contains "to" "[email protected]"
{
redirect :copy "[email protected]";
}
ou
# rule:[Copy to ]
if address :contains "to" "[email protected]"
{
fileinto "INBOX.Redmine";
}
Mas toda vez que o filtro não funciona.
Isso só funciona se eu estiver enviando do endereço que tenho em "para" ou de outro correio local.
Alguma ideia?
Responder1
Não funciona porque não pode funcionar desta forma:Se você estiver enviando e-mail, estará enviando-o para a porta 465 diretamente para o Postfix - nenhum script Sieve será executado.
Se você quiser usar a linguagem Sieve para trabalhar com e-mails enviados, você terá que se esforçar muito mais, porque ela não está bem integrada ao software comum, pelo menos nem de longe tão boa quanto a integração do Pigeonhole Sieve no Dovecot, que só irá acionador em dois casos de uso específicos:
- ao receber correspondência, também conhecido comoEntrega finaletapa de correspondência destinada a uma caixa de correio gerenciada pela Dovecot, ou
- no gerenciamento de uma caixa de correio, especificamente ações de um cliente local ou conectado por IMAP em uma caixa de correio gerenciada pelo Dovecot.
É notável que a integração não tratará o caso de envio de correspondência: embora o Dovecot inclua um proxy de envio, ele geralmente não está envolvido nessa direção e, em raros casos em que é usado, ainda não lida com o Sieve.
Você tem algumas opções agora:
- acione seu script no e-mail armazenado em uma caixa de correio "enviada" (mas isso não funcionaria em e-mails que não estão armazenados nessa caixa de correio)
- substitua seu script pela funcionalidade integrada do Postfix.destinatário_bcc_mapsvem à mente
- configure o postfix
header_checks
para simplesmente rejeitar mensagens que não seguem sua política (por exemplo, pula o cabeçalho To: desejado e rejeita todas as versões incompletas dele) - configure a cópia em algum milter/filter
- configure um endereço (de preferência novo, local) que você configurou para ser expandido para os dois endereços nos quais deseja receber o e-mail, permita que os usuários enviem seus e-mails para lá
- encaminhar mensagens para esse destinatário para um script, possivelmente um usando seu script Sieve (improvável que seja sua melhor opção: usar o Sieve fora do caso de uso LDA simplesmente não é bem suportado por nenhum software existente)