A única maneira de saber que você está pegando o NDR e similares é ter um endereço válido de: ou reply-to: que detectará essas informações e garantirá que o servidor SMTP as gere e entregue.
Eu tenho o seguinte cenário:
[Servidor HTTP]: processar mensagens
[Servidor SMTP]: somente envia mensagens
[Servidor HTTP] === conecte-se a === > > > [Servidor SMTP] === envia mensagem === > > > [mundo]
Ok, isso está indo bem.
Meu ponto é: como obter feedback do [Servidor SMTP] para saber se minha mensagem foi realmente enviada ou não?
Usando php-mailer ou qualquer idioma / API (em [HTTP Server]), eu só tenho feedback para conexão entre servidores: "Conexão com servidor SMTP estava OK", mas isso não é uma prova de que minha mensagem foi realmente enviada .
Quero dizer, como obter "status = sent" ou "status = bounce" que aparece no / var / log / maillog para cada mensagem?
Estou realmente tentando isso nas últimas semanas, mas sem sucesso.
Eu trabalhei de uma forma que, quando o [HTTP Server] se conecta ao [SMTP Server], obtém o Message-ID do maillog, então mais tarde eu irei (SSH do [HTTP Server] para [SMTP Server]) para grep o / var / log / maillog com este Message-ID e obtém este "status = sent" ou "status = anything".
Mas tenho certeza de que há uma maneira automatizada de fazer isso.
Alguém sabe?
A única maneira de saber que você está pegando o NDR e similares é ter um endereço válido de: ou reply-to: que detectará essas informações e garantirá que o servidor SMTP as gere e entregue.
É assim que o SMTP funciona, você o envia para o próximo servidor e lhe dirá se aceitou ou não. O que acontece além disso requer algum acesso ao servidor de retransmissão.
Você pode fazer com que o servidor de correio envie por e-mail segmentos de 5 minutos de / var / log / maillog .. se desejar automatizado.