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


PHP Mail() : how to get more information regarding failure of sending mails using php mail().

如果php-mail()无法发送邮件,有没有任何方法可以让我们知道失败的确切原因。

快速查看,我找不到任何方法来捕捉mail()生成的错误。最简单的方法是使用error_get_last来收集上次发生的错误。但是,一旦mail()返回false,就应该执行此操作。

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

使用像swiftmailer这样的库会更加灵活,因为它可以让你很容易地捕捉到它的错误和异常。

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

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