postfix header_checks para renomear o assunto do email

3

Temos vários sistemas externos lendo nossos e-mails, e alguns estão tropeçando em outros. Basicamente, o que eu preciso fazer é substituir um assunto de e-mail como:

[RT #179497] Internal: blah blah

com

[RT 179497] Internal: blah blah

Então, solte o hash. Alguém sabe o regex para conseguir isso com postfix header_checks?

    
por bobinabottle 02.07.2010 / 07:01

2 respostas

4

Veja header_checks (5) para exemplos e link para informações adicionais.

Modificar o exemplo na página de manual mencionada não é tão difícil:

/etc/postfix/main.cf:

header_checks = pcre:/etc/postfix/header_checks.pcre

/etc/postfix/header_checks.pcre:

/^Subject: \[RT #(\d)\] Internal: (.+)$/    REPLACE Subject: [RT $1] Internal: $2

Provavelmente poderia ser mais elegante ou mais curto, mas agora é o seu trabalho.

    
por 19.07.2010 / 07:50
1

Somando-se à resposta de @joschi (e sei que isso está atrasado, mas outra pessoa pode achar essa informação útil): Você indicou que só quer reescrever cabeçalhos em mensagens para determinados endereços de e-mail. Isso é um pouco complicado:

Você precisa configurar um transporte separado para poder especificar diferentes manipulações para mensagens usando este transporte:

local padrão: /etc/postfix/transport

[email protected]   rewriter:
[email protected]   rewriter:
.anotherdomain.com  rewriter:

Isso instrui o postfix a processar os emails destinados a esses locais usando o rewriter transport. Então, em /etc/postfix/master.cf , você pode adicionar:

rewriter     unix  -       -       -       -       -       smtp
  -o smtp_header_checks=regexp:/etc/postfix/rewrite_headers

E, finalmente, você especifica que tipo de reescrita deseja realmente fazer no arquivo /etc/postfix/rewrite_headers . Ele tem a mesma sintaxe que o arquivo header_checks padrão, é apenas uma versão personalizada válida apenas para os e-mails que passam pelo rewriter transport.

Note que isso provavelmente não funcionará se você tiver algum tipo de filtro de conteúdo ativo (por exemplo, o Amavis), embora no meu caso eu estivesse executando uma manipulação diferente.

    
por 05.10.2012 / 11:46

Tags