我试图计算一个大概的百分比,我的邮件服务器处理多less邮件服务器进程成功交付多less下降,因为邮件来自错误configuration的邮件服务器,垃圾邮件等..
我首先在/ var / log /目录中运行以下两个命令(以捕获maillog中的条目以及已经旋出的较旧的maillog):
grep "dsn=2.0.0, status=sent (delivered to maildir)" * | wc -l 7814 grep "NOQUEUE: reject: RCPT" * | wc -l 13338
但后来我认为这些条目可能会重复复制(尤其是NOQUEUE)。 所以我运行了下面稍微修改过的命令,看看可能有多less差异。
grep "dsn=2.0.0, status=sent (250 2.0.0 from MTA(" * | wc -l 8839
看着我的maillog条目,我得到了多个NOQUEUE条目的投递尝试。 但我认为这是因为发送邮件服务器有时会尝试多次交付。 例如:
Aug 10 10:48:24 mail postfix/smtpd[7159]: NOQUEUE: reject: RCPT from unknown[112.198.103.178]: 450 4.7.1 Client host rejected: cannot find your reverse hostname, [112.198.103.178]; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<112.198.103.178> Aug 10 10:48:24 mail postfix/smtpd[7159]: NOQUEUE: reject: RCPT from unknown[112.198.103.178]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<112.198.103.178> Aug 10 10:48:24 mail postfix/smtpd[7159]: NOQUEUE: reject: RCPT from unknown[112.198.103.178]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<112.198.103.178> Aug 10 10:48:24 mail postfix/smtpd[7159]: disconnect from unknown[112.198.103.178]
所以我有两个问题:
NOQUEUE: reject: RCPT grep重复条目NOQUEUE: reject: RCPT ? grep "dsn=2.0.0, status=sent (delivered to maildir)" * | wc -l之间的区别 grep "dsn=2.0.0, status=sent (delivered to maildir)" * | wc -l和grep "dsn=2.0.0, status=sent (250 2.0.0 from MTA(" * | wc -l我们可以看出有差别。 这些似乎是单独的投递尝试,所以应该算作这样。
假设这样的事情一定已经被解决了,我看了一下munin postfix_mailstats脚本是如何在那里完成的。 这是一个Perl脚本,所以正则expression式是perl兼容的:
这些交付成功:
/ to=.*, status=sent /
这些是拒绝:
/postfix\/smtpd.*proxy-reject: \S+ (\S+)/ /postfix\/smtpd.*reject: \S+ \S+ \S+ (\S+)/ /postfix\/cleanup.* reject: (\S+)/
正则expression式的被捕获部分(括号之间)是指示消息被拒绝的拒绝代码。
delivered to maildir是本地交付, 250 .* from MTA是远程交付,即两种不同types的交付; 所以你不是每个人都有不同的数字。