2009-07-16 54 views
5

mail()失败时,没有太多有关出错的信息。我明白最好的行动方式是检查你的sendmail日志,或者PHP使用的任何邮件程序。但是从一个编程和务实的角度来看:在Linux托管环境中,PHP程序可以做些什么来获得尽可能多的额外信息来正确记录失败,可能的原因等,并产生可用的,可操作的错误?如何从PHP的mail()失败中获得额外的错误信息?

+0

我从来没有能够成功检索错误信息。我发现缓解这种情况的唯一方法是通过我的php应用程序中的排队系统,在那里队列将继续尝试发送电子邮件。 – Josiah 2009-07-16 00:34:58

回答

0

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

+0

在共享托管环境中,我怀疑我能够加载外部PHP模块。但主要问题是,我真的,真的有更重要的问题来解决第一:) – 2009-07-16 00:36:11

2

问题是,在一个类似Unix的系统上,PHP只是把整个事情交给一个命令行工具,它实际上只是让PHP能够说'yay'或'nay'。要做你想做的事,你需要使用类似PEAR's Net_SMTP的东西,它实际上可以与邮件服务器进行智能通信。

相关问题