如何验证php邮件发送的每封电子邮件


How to verify each email sent by php mailer?

我需要验证表单提交的电子邮件的发送情况。我想在页面中显示(这是一个测试)电子邮件是否已发送。

例:

if(!$email){
    echo "email not sent";
} else {
    echo "email sent";
}

这是我用来发送电子邮件的代码部分:

页.php

$subject = "Hello!";
$html = "<p>Message</p>";
$mail = new PHPMailer();
$mail->SetFrom('example1@email.com', 'One');
$address = "example1@email.com";
$address2 = "example2@gmail.com";
$mail->AddAddress($address, "receiver1");
$mail->AddAddress($address2, "receiver2"); 
$mail->Subject = $subject;
$mail->MsgHTML($html);
// I need to verify each email here 
if(!$mailObject->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else echo "Message sent!";

仅当连接数据或登录凭据中存在错误或存在服务器问题时,才会引发此错误消息。

没有特定的方法来验证电子邮件是否已发送。 (只要连接正常,smtp,pop或imap数据正确,那么电子邮件就会发送。即使电子邮件从未到达终点。

通常,当电子邮件无法到达收件人时,最终会将其退还给发件人。我想你可以设置某种监听器来监视这些电子邮件。您仍然不会以错误的形式获得即时反馈,但您可以使用它为用户创建失败的电子邮件页面。

我找到了几个相关链接:

PHPMailer 失败,没有错误

PHP 参考指南 - PHPMailer

if($mail->send()){ 
    echo "Mail sent Successfully"; 
} else{ 
    echo "Mail not Sent.!"; 
}

$mail->send()发送邮件的功能,因此您可以检查邮件是否已发送。!