监控 Postfix 外发邮件的传递

Tas*_*ian 12 linux display smtp postfix syslog

我正在使用带有 Postfix 的 GNU Mailman 来运行邮件列表,并希望监视外发邮件的传递,即:对于从列表中发送的每封邮件,检查是否收到了 250(OK)消息,如果没有,向我汇报。

现在,我正在做一个快速而肮脏的事情:

# cat /var/log/syslog | grep "smtp.*to=.*" | grep -v 250
Run Code Online (Sandbox Code Playgroud)

有没有一种干净的方法来监视 smtpd 的输出?

小智 8

无法以干净的方式监控已发送的邮件。您只能从 postfix 的邮件日志中 grep 详细信息。

下面是一个例子:

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

并且还避免使用日志dkim等。如果您需要邮件计数,请wc -l在最后使用管道。