Monitorar a entrega de correio de saída do Postfix


11

Estou usando o GNU Mailman com Postfix para executar uma lista de emails e gostaria de monitorar a entrega de emails de saída, ou seja: para cada email enviado da lista, verifique se uma mensagem 250 (OK) foi respondida e, se não, , informe-me.

Por enquanto, estou fazendo uma rápida e suja:

# cat /var/log/syslog | grep "smtp.*to=.*" | grep -v 250

Existe uma maneira limpa de monitorar a saída do smtpd?


11
Certamente isso deve ser um uso inútilcat ? No mínimo, você pode fazergrep "smtp.*to=.*" /var/log/syslog | grep -v 250
um CVn

Pessoalmente acho que a cruzada de um pedante pouco na maioria dos contextos e preferem formato modular do OP mais legível,
jchook

Respostas:


8

Não há como monitorar os e-mails enviados de maneira limpa. Você pode apenas grep os detalhes no correio de correio do postfix.

Aqui está um exemplo:

log='logfile of postfix'
grep "status=sent" $log | \
egrep -ve 'postfix/(cleanup|pickup|master|qmgr|smtpd|local|pipe)'

E também evite os registros para dkimetc. Se você precisar da contagem de e-mails, envie-os wc -lno final.


3

E se:

multitail -eX "smtp.*to=<(.*)>.*sent.*250" './bin/received' -f /var/log/maillog

./bin/received é um script de shell que obtém o endereço de email de destino como parâmetro e faz algo com ele.



0

Estou assistindo quem envia e-mail através do meu servidor com este:

tail -f /var/log/mail.log | grep 'sasl'

Mostra quem é o usuário autenticado quem está enviando.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.