是否有可能获得通过PHP发送的邮件的Exim的msgid?

时间:2012-06-22 07:09:57

标签: php email smtp exim

我正在使用PHPMailer发送电子邮件并将邮件详细信息保存到数据库中。我想使用Exim stats的日志来查看交付是否存在问题。 Exim stats有一个mysql数据库,其中包含通过SMTP发送的所有外发邮件的日志,但我需要使用消息ID(msgid)将日志条目连接到我的电子邮件表。

有什么想法吗?我可以在发送邮件之后获取邮件/或者在发送之前手动设置邮件吗?

1 个答案:

答案 0 :(得分:0)

  

我正在使用PHPMailer发送电子邮件并将邮件详细信息保存到数据库中。我想使用Exim stats的日志来查看交付是否存在问题。 Exim stats有一个mysql数据库,其中包含通过SMTP发送的所有外发邮件的日志,但我需要使用消息ID(msgid)将日志条目连接到我的电子邮件表。

这完全取决于您发送电子邮件的方式;我不认为使用PHP的本地mail()函数可以这样做,但您可以使用更复杂的库(例如SwiftMailer)来实现。 SwiftMailer确实提供了一个getId()方法,它似乎可以做你想要的。

此外,当您使用Swift的SMTP传输时,您可以看到SMTP会话中的内容;如果会话本身失败,则可见。