script de acionador em erros de entrega postfix

1

Estou tentando fazer com que o postfix execute um script em erros de entrega soft (4xx) e hard (5xx), mas não sei por onde começar.

Se eu entendi as coisas corretamente, eu pude inserir filtros (baseados em pipe) no arquivo master.cf, há toda uma infra-estrutura 'milter' disponível, e finalmente eu poderia simplesmente passar pelos logs do mail.info. / p>

Então - algum conselho? Devo ir a rota 'manipulá-lo via master.cf' e, em caso afirmativo, qual daemon devo interceptar? 'pulo'? A rota grep-the-logs é provavelmente a mais simples, mas não posso deixar de sentir que existe uma maneira melhor.

Qualquer conselho apreciado!

    
por edovino 28.03.2012 / 12:38

1 resposta

1

O postfix é um MTA - um agente de transferência de email. A entrega é feita por um dos MDAs (agentes de entrega de mensagens) - local (8) ou virtual (8) - ou qualquer MDA externo configurado por você.

Se a entrega falhar por algum motivo, esse fato é registrado e a mensagem é adiada para nova tentativa (em status 4xx) ou rejeitada e uma mensagem devolvida é enviada ao remetente (nos status 5xx).

Não há nenhum ponto no caminho acima onde você pode arbitrariamente injetar código alternativo; essas ações são obrigatórias pelo protocolo SMTP (RFC5321).

Você pode determinar completamente o que acontece na entrega da mensagem para um MDA; você teria que programar que para lidar com os status de erro da maneira que melhor se adequar ao seu cenário.

EDIT: dito, você pode escrever um wrapper baseado em pipe (8) em torno do agente de entrega escolhido que lida com esses resultados de entrega.

    
por 28.03.2012 / 13:22