【问题标题】:How to get extra error information from PHP's mail() failure?如何从 PHP 的 mail() 失败中获取额外的错误信息?
【发布时间】:2010-11-11 05:05:08
【问题描述】:

mail() 失败时,没有太多关于哪里出了问题的信息。我知道最好的做法是检查您的 sendmail 日志,或任何使用 PHP 的邮件程序。但是从编程和实用的角度来看:在 Linux 托管环境中,PHP 程序可以做些什么来获取尽可能多的额外信息来正确记录故障、可能的原因等并生成可用的、 可操作错误?

【问题讨论】:

  • 我一直无法成功检索错误信息。我发现缓解这种情况的唯一方法是通过我的 php 应用程序中的队列系统,队列将继续尝试发送电子邮件。

标签: php linux error-handling email sendmail


【解决方案1】:

问题在于,在类 Unix 系统上,PHP 只是将整个事情交给一个命令行实用程序,该实用程序实际上只让 PHP 能够说“是”或“否”。为了做你想做的事,你会想要使用像PEAR's Net_SMTP 这样的东西,它实际上可以与邮件服务器进行智能通信。

【讨论】:

    【解决方案2】:

    肯定会有比这更好的答案,但我也有兴趣听到它。也许一种解决方案是编写您自己版本的 mail() 函数。它不是太难。如果您真的需要关于为什么发送消息失败的完整/详细信息,那么这可能不是一个坏主意。它肯定会给你更多的控制权。

    【讨论】:

    • 在共享托管环境中,我怀疑我是否能够加载外部 PHP 模块。但主要问题是我真的,​​真的有更重要的问题要先解决:)
    猜你喜欢
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    • 2018-08-12
    • 2018-12-12
    相关资源
    最近更新 更多