如何测试PHP mail()是否已成功传递邮件

php
2022-08-30 21:06:19

如何测试邮件是否已成功投递?mail()


答案 1

Well 只是返回一个布尔值,具体取决于邮件是否已成功接受传递。从 php.net 网站:mail()

如果邮件已成功接受递送,则返回 TRUE,否则返回 FALSE。

重要的是要注意,仅仅因为邮件被接受传递,并不意味着邮件实际上会到达预期的目的地。

因此,您可以测试它是否已被“发送”,但是检查它是否已交付是另一回事。


答案 2

根据Ben回复,您可以检查成功电子邮件传递,如下所示

$result = mail('abc@test.com', 'Test Subject', $message);
if(!$result) {   
     echo "Error";   
} else {
    echo "Success";
}

为了获得更好的结果,您可以使用PHPMailer。单击下面的链接以获取PHPMailer的详细文档。

http://phpmailer.worxware.com/index.php?pg=tutorial

if(!$mail->Send()) {
  echo 'Message was not sent.';
  echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
  echo 'Message has been sent.';
}

推荐