Como configurar o Postfix para enfileirar o e-mail que falhou ao entregar o pipe?

2

Estou usando o pipe sobre SSH para entregar alguns e-mails para processamento especial em outro servidor, o que configurei no master.cf.

foobar   unix    -   n   n   -   -   pipe
  flags=RF user=foobar:foobar argv=/usr/bin/ssh -T foobar@foobar /usr/local/bin/foobar ${recipient}

O problema que estou tendo é que, se este servidor não estiver disponível (ou por algum outro motivo, a conexão SSH falha), toda a entrega falha e o remetente recebe uma mensagem sobre isso. O que eu gostaria é que, se falhar que o e-mail é colocado de volta na fila para tentar mais tarde. E somente se por alguns dias essa entrega não for feita, o remetente será notificado sobre isso. Como posso configurar o Postfix desta maneira?

    
por Mitar 25.01.2011 / 20:32

2 respostas

5

Adicione -o soft_bounce=yes à definição em master.cf .

Exemplo:

foobar   unix    -   n   n   -   -   pipe
  -o soft_bounce=yes
  flags=RF user=foobar:foobar argv=/usr/bin/ssh -T foobar@foobar /usr/local/bin/foobar ${recipient}

Isso manterá o e-mail na fila adiada para sempre (ou até que a máquina volte à vida e o postfix tente novamente) e não retornará depois de alguns dias, mas é o melhor que pude encontrar (e até mesmo isso foi muito bem oculto).

    
por 05.05.2011 / 01:50
5

Se o comando que pipe estiver fornecendo retornar um código de saída de 75, isso fará com que a entrega seja adiada em vez de devolvida. Como alternativa, se a primeira linha de saída parece ter um status de SMTP estendido (por exemplo, "4.2.0") que tem prioridade.

Eu colocaria o comando ssh em um shell script ou algo que detecta uma falha e converte isso para o status de saída / saída correto.

Isso permite que o programa de entrega sinalize mensagens como impossíveis de serem entregues, em vez de sempre fazer com que sejam repetidas. E mantém a opção soft_bounce como uma rede de segurança de depuração.

(Eu agradeço que você já tenha uma resposta, mas achou que isso poderia ser útil como uma alternativa para qualquer outra pessoa encontrar essa pergunta)

    
por 04.07.2011 / 15:26

Tags