如何获取mail()函数的错误消息?

如何获取mail()函数的错误消息?

我一直在使用PHP mail()函数。


如果邮件因任何原因没有发送,我想回复错误信息。我该怎么办?


就像是


$this_mail = mail('example@example.com', 'My Subject', $message);


if($this_mail) echo 'sent!';

else echo error_message;

谢谢!


繁星淼淼
浏览 425回答 3
3回答

RISEBY

返回false error_get_last()时可以使用mail()。$success = mail('example@example.com', 'My Subject', $message);if (!$success) {     $errorMessage = error_get_last()['message'];}有了print_r(error_get_last()),你得到这样的东西:[type] => 2 [message] => mail():无法连接到“xxxx”端口25的邮件服务器,验证php.ini中的“SMTP”和“smtp_port”设置或使用ini_set()[file] = > C:\ www \ X \ X.php [line] => 2

缥缈止盈

在php中发送邮件不是一步到位的过程。mail()返回true / false,但即使返回true,也不意味着将要发送消息。所有mail()都将消息添加到队列中(使用sendmail或您在php.ini中设置的任何内容)没有可靠的方法来检查消息是否已在php中发送。您将不得不查看邮件服务器日志。

子衿沉夜

您可以使用具有相同接口的PEAR邮件程序,但在出现问题时返回PEAR_Error。
打开App,查看更多内容
随时随地看视频慕课网APP