我正在尝试使用 Postfix 作为 MTA 设置中继服务器,并且需要记录服务器的邮件使用情况(记录到文件或 SQL)。目的是监控主机发送的邮件数量及其大小。
我研究了 Postfix 中这种流量统计的几种可能性。它们可以总结如下:
- 运行守护进程来拦截 25 端口流量、记录流量,然后将请求发送到 Postfix
- 日志文件分析器通过 /var/log/maillog 确定发送的邮件数量和邮件大小(以 python、C 代码等编写)
分析日志文件会导致重新发送的退回邮件被算作双倍,而拦截传入端口 25 的守护进程不会注意到 Postfix 重新运行其 onhold-queue。因此,这两种“流量统计”方式必然存在差异。
一些示例包括:
- MySQMail-Postfix-记录器:http://freshmeat.net/projects/mysqmail-postfix-logger
- pflogsumm (Postfix 提供)
但似乎没有一个能够提供非常详细的信息。我更喜欢记录尽可能多的信息(请求 IP、邮件大小、发件人、收件人、邮件 ID、接收 mta 等)。
您有这方面的经验吗?有什么建议或注意事项吗?
答案1
使用策略守护进程http://www.postfix.org/SMTPD_POLICY_README.html一个好的会计是政策性的http://www.policyd.org/
它会将您需要的所有信息记录到数据库中。