PHP Mail():如何获取有关使用php mail()发送邮件失败的更多信息。

时间:2012-04-02 06:11:18

标签: php email

如果php mail()无法发送邮件,是否有任何方法可以让我们了解失败的确切原因。

2 个答案:

答案 0 :(得分:1)

从快速查看,我无法找到任何方法来捕获mail()生成的错误。最简单的方法是使用error_get_last来收集发生的最后一个错误。但是,您应该在mail()返回false后执行此操作。

另一种可能的解决方案是set_error_handler,当您发送邮件时,然后在发送邮件后立即删除处理程序。然后,您的错误处理程序应该能够捕获发送邮件时发生的任何错误/警告/通知。

使用像swiftmailer这样的库会更加灵活,因为它可以让您轻松捕获错误和异常。

如果您在谈论接收服务器上的错误,那么您需要实施VERP或某种反弹检测算法。 PHPMailer-BMH在这种情况下可能很有用。

答案 1 :(得分:0)

我的配置使用sendmail,它会在sendmail目录中输出崩溃报告。检查文件夹是否有错误转储。