reescrita de destinatário condicional postfix

1

Eu estou lutando para integrar o Postfix com o RT. Eu sou novo em tudo isso, então eu posso estar cometendo alguns erros idiotas.

O AFAIU, o Postfix e o RT se integram a um mapeamento entre a fila RT e o endereço do destinatário no arquivo /etc/alias .

Fizemos isso por duas filas:

support:    "|/opt/rt4/bin/rt-mailgate --queue general --action correspond --url http://localhost" 
support-urgent "|/opt/rt4/bin/rt-mailgate --queue urgent --action correspond --url http://localhost"

Assim, sempre que um email é enviado para [email protected] , ele fica na fila geral e sempre que é enviado para [email protected] , ele fica na outra fila.

No entanto, gostaríamos de simplificar a vida de nossos clientes comunicando apenas um único endereço de e-mail para eles: [email protected] .

Em seguida, manteríamos uma lista de clientes para os quais temos um contrato que lhes dá prioridade.

Basicamente, precisamos fazer algumas regravações de destinatários condicionais com base em uma pesquisa no endereço do remetente. Se [email protected] estiver em nossa lista de prioridades, o endereço do destinatário deverá ser alterado para [email protected] para rt para buscá-lo na fila correta. Se [email protected] não estiver na lista, não será necessário reescrever.

Isso é simples de fazer ou eu precisaria de uma segunda instância do Postfix em outra porta?

Obrigado por qualquer ajuda ou pistas. Seb.

    
por sebclaut 29.07.2016 / 13:08

2 respostas

2

O RT tem um sistema de automação completo chamado Scripts, que permite adicionar ações em cada transação em um ticket RT. Usando esse sistema, você pode criar um novo script para "Alterar fila com base no remetente". Você pode então escrever algum código de ação para ver o endereço de e-mail do solicitante, consultar alguma configuração que mapeie o domínio "de" para suas filas e, em seguida, atualize a fila no tíquete de entrada.

O wiki da comunidade RT tem um script de exemplo que define uma fila automaticamente . No seu caso, você deve poder examinar o objeto Solicitante no ticket, já que o ticket já foi criado. A condição seria On Create.

    
por 01.08.2016 / 14:23
1

Se você estiver familiarizado com as ferramentas do Unix, mas não com o Perl, também poderá fazer este processamento de mensagens no procmail.

Você precisa adicionar seu /etc/procmail/main.cf:

mailbox_command = procmail -a "$EXTENSION"

Exemplo / etc / procmailrc:

:0
* ^From: .*<[email protected]>+
* ^Subject:.*optional.*
| /opt/rt4/bin/rt-mailgate --action correspond --queue urgent --url http://localhost

Você pode usar expressões regulares para corresponder à lista de usuários VIP ou manter uma lista branca em um arquivo externo

No entanto, se você for lidar com muita configuração de RT, investir tempo em aprender sobre Scrips pode ser uma opção melhor, como Jim sugeriu.

    
por 02.08.2016 / 10:18