如何获取mail()函数的错误消息?
我一直在使用PHP函数。mail()
如果邮件因任何原因未发送,我想回显错误消息。我该怎么做?
类似的东西
$this_mail = mail('example@example.com', 'My Subject', $message);
if($this_mail) echo 'sent!';
else echo error_message;
谢谢!
我一直在使用PHP函数。mail()
如果邮件因任何原因未发送,我想回显错误消息。我该怎么做?
类似的东西
$this_mail = mail('example@example.com', 'My Subject', $message);
if($this_mail) echo 'sent!';
else echo error_message;
谢谢!
如果您在 Windows 上使用 SMTP,则可以在 mail()
返回 false 时使用 error_get_last()。
请记住,这不适用于PHP的本机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(): 無法連接到「x.x.x.x」口口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中发送。您将不得不查看邮件服务器日志。