全部, 我有用 PHP 发送电子邮件的标准邮件代码。
$to = $resultset['email_address'];
$subject = "New client inquiry from Website.com";
$message = $email_message;
$from = $your_email;
$headers = "From:" . $from;
mail($to,$subject,$message,$headers,"-f $from");
变量是在我的代码中较早创建的。但是我要检查的是确保邮件功能已成功执行。使用此代码,我如何确定是否发送了电子邮件以及它是否没有回显“失败”?
最佳答案
简单地说:这对于 PHP mail()
命令是不可能的。
mail()
的返回值仅表示邮件是否已成功移交给 MTA,但不表示邮件是否已发送。如果例如您的 MTA 是 postfix,并且 postfix 服务已停止,mail()
将愉快地返回 true
,因为将邮件排队到 postfix 有效。但是,如果 postfix 未手动启动(或什至未正确配置),它将永远不会发送。
如果您真的想确定邮件是否已发送,您需要通过套接字与 MTA 通信。有相应的框架。
关于php - 判断邮件是否发送成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9508428/