从PHP(sendmail?)获取用mail()发送的邮件日志

在一些服务器更改之后,我们的PHPconfiguration遭到了破坏,导致客户端的大型邮件列表部分超过4000个地址或更多。 我们希望尽可能避免发送重复的邮件,并且我们有最初的邮件列表。

该邮件是使用PHP的mail()函数发送的,该函数使用sendmail ,它使用Exim 。 我看到了这个命令:

 sendmail -bp 

这给了我一个出现的邮件列表被发送。 这个列表不是很大,而且可能是准确的(这意味着只发送了一百个左右的电子邮件就会超时)

sendmail -bp是获取此列表的最佳方式吗?

编辑:我找不到任何mail.log文件在/var/log/mail.log或通过locate mail.log ,但WHM似乎有一些这方面的信息。

在基于Debian的系统上,exim在/var/log/exim4/mainloglogging数据。

您可能会发现eximstats工具可用于parsing和剔除该日志文件中的有用信息。

sendmail -bp (和mailq )仅列出邮件队列:已排队但尚未发送的邮件。 它将不包括那些成功传递的消息。

您应该检查/var/log/mail.log (和其他日志文件) – 他们几乎总是有每个传输的logging。

PHP 5.3.0添加了2个设置,使得追踪stream氓脚本变得简单:

 mail.add_x_header mail.log 

http://php.net/manual/en/mail.configuration.php