在工作中,我们的首席执行官正在制定一项计划,摆脱为我们进行垃圾邮件过滤等服务的服务提供商。
目前,我们的所有邮件都通过此服务转发出去,并且所有收到的电子邮件都通过此服务转发给我们。
这样设置的部分原因在于“可传递性”——像我们使用的大型电子邮件服务提供商不太可能被列入黑名单(我们在转向他们之前遇到过一个问题,某些 ISP 会因为我们向其客户发送过多电子邮件而阻止我们(这些电子邮件只是订单确认/发货电子邮件!))
如果我们搬走,我们的邮件服务器将直接投递邮件。我想建立某种监控系统,为我们提供有关我们发送了多少封邮件、我们将邮件发送到哪些域、退回率、定期退回邮件的服务器等的统计数据。
有谁知道这个问题的一个好的解决办法吗?
答案1
我已经使用 pflogsumm 大约 5 或 6 年了。它应该可以通过 apt-get 或 yum 轻松获得。
通常情况下,我会每周至少检查一次报告,以确保数字看起来正常,但实际上并没有太多内容。一些有用的部分:
Report based on information in /var/log/maillog
Postfix log summaries for Aug 6
Grand Totals
------------
messages
83401 received
85066 delivered
113 forwarded
3837 deferred (20601 deferrals)
2075 bounced
2 rejected (0%)
0 reject warnings
0 held
0 discarded (0%)
1667m bytes received
1666m bytes delivered
324 senders
103 sending hosts/domains
19822 recipients
3273 recipient hosts/domains
并且有助于监控交付延迟时间和延迟次数(这将是您被列入黑名单的第一个迹象):
Host/Domain Summary: Message Delivery (top 10)
sent cnt bytes defers avg dly max dly host/domain
-------- ------- ------- ------- ------- -----------
34164 1344m 0 0.1 s 1.0 s xxxxxxxx.com
10332 67337k 48 17.5 s 2.1 h yahoo.com
8023 49019k 1 0.9 s 22.3 m gmail.com
5618 36421k 0 0.6 s 13.0 s hotmail.com
4933 34041k 0 0.3 s 10.0 s aol.com
4049 23887k 0 0.0 s 1.0 s cfmailtest.xxxxxxx
1670 10819k 0 1.1 s 34.0 s comcast.net
1211 7266k 0 0.6 s 7.0 s msn.com
827 5540k 0 2.5 s 51.0 s sbcglobal.net
685 5415k 21 48.1 s 1.4 h verizon.net
答案2
有多种方法可以实现这一点,通常通过日志文件摘要。您可以找到一个小列表在 Postfix 网站上这也许能为你指明正确的方向。
如果你安装了 logwatch,你可以添加其功能并以此方式获取统计数据。
logwatch --service postfix --mailto [email protected]
如果你需要“漂亮的图表”,你可以从邮件图,它收集并绘制一段时间内的后缀活动图。
答案3
Munin stats Postfix Mailqueue 可以为您提供概览。
您可以使用 postfix 的 qshape 命令深入研究它,即:
qshape deferred | head -12
干杯
答案4
但请记住,大多数反垃圾邮件系统都会默默地丢弃您的电子邮件(或将其放在很少阅读的位置),因此您无法真正知道有多少封邮件实际到达(除非要求用户明确确认)。