Postfix - Pipe MTA responses para Script

1

Estou escrevendo um aplicativo que analisará as respostas do MTA e atualizará um banco de dados indicando se a mensagem foi entregue com êxito (dns: 200) ou ocorreu um erro (dsn: 511). Como eu não sou um guru de sistemas, decidi perguntar aqui, depois de alguns conversarem por aí para ver qual abordagem seria a melhor para resolver o meu problema.

Eu segui este guia , primeiro, e com o qual eu tive mais sucesso, pois pude analisar a mensagem através do meu script. No entanto, o conteúdo era a mensagem antes de ser enviada para o servidor de correio remoto. Então, eu li este post ; que explica como usar o transport_maps. E como se não houvesse opções suficientes, havia essa postagem sobre como usar um alias, em vez disso.

Qual dessas soluções seria melhor? Mais uma vez, gostaria de rastrear TODAS as respostas, e não apenas respostas de rejeição.

    
por Mike Purcell 21.06.2013 / 03:01

2 respostas

1

Nem Você quer saber o que o servidor fez com uma mensagem, você deve ler o log.

Por padrão, postfix registra no syslog facility MAIL . Geralmente, por padrão, isso gravará as mensagens em /var/log/maillog ou /var/log/mail.log .

Como rsyslog e syslog-ng podem gravar em SQL bancos de dados, convém fazer isso e escrever algumas consultas apropriadas.

    
por 21.06.2013 / 03:35
0

As mensagens devolvidas podem ser geradas não apenas pelo seu servidor MTA (postfix), mas também pelos servidores de email "next hop". Não espere analisar todos os retornos usando um script simples.

Você pode usar [email protected] como endereço do remetente do envelope e usar um arquivo separado ~ / .forward para redirecionar os retornos (mensagens para e seu nome + rejeições) conforme descrito em Ponto de VERPósfixos do VERFOR

BTW:

1 Não se esqueça dos problemas de entrega temporária (DSN: 400).

2 Eu sugeriria usar a solução baseada em VERP para rastrear retornos (por mensagem / endereço de rejeição do destinatário).

    
por 22.06.2013 / 08:31

Tags