确定电子邮件是否已成功发送

时间:2012-02-29 23:38:46

标签: php email

全部, 我有标准的邮件代码,用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");

变量是在我的代码中创建的。但是,我想检查的是确保邮件功能已成功执行。使用此代码,我如何确定是否发送了电子邮件以及是否未显示“失败”?

1 个答案:

答案 0 :(得分:12)

简单地说:使用PHP mail()命令无法做到这一点。

来自mail()的返回值仅表示邮件是否已成功切换到MTA,而不是是否已发送。如果是您的MTA是后缀,并且后缀服务已停止,mail()将很高兴地返回true,因为将邮件排队到postfix工作。但是,如果没有手动启动postfix(甚至没有正确配置),它将永远不会被发送。

如果您确实要确认邮件已发送,则需要通过套接字与MTA通信。有框架。