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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (39)

我一直在使用PHPmail()功能。

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

类似于

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

if($this_mail) echo 'sent!';
else echo error_message;

谢谢

提问于
用户回答回答于
$e=error_get_last();
if($e['message']!==''){
    // An error function
}

error_get_last(); 返回发生的最后一个错误

用户回答回答于

mail()返回false,你可以用error_get_last()

$success = mail('example@example.com', 'My Subject', $message);
if (!$success) {
    $errorMessage = error_get_last()['message'];
}

使用print_r(error_get_last()),你会得到:

[type] => 2

[message] => mail(): Failed to connect to mailserver at "x.x.x.x" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()

[file] => C:\www\X\X.php

[line] => 2

扫码关注云+社区

领取腾讯云代金券