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

时间:2016-03-01 13:08:02

标签: php phpmailer

我遇到的情况是我需要验证发送表单提交的电子邮件。如果发送电子邮件,我想在页面中显示(这是测试)。

示例:

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

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

page.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 

2 个答案:

答案 0 :(得分:1)

if(!$mailObject->Send()) {

echo "Mailer Error: " . $mail->ErrorInfo;

} else echo "Message sent!";

如果您的连接数据或登录凭据中出现错误,或者存在服务器问题,则只会抛出此错误消息。

没有具体方法可以验证电子邮件是否已发送。 (只要连接正常,smtp,pop或imap数据就是正确的,然后电子邮件就会发送。即使电子邮件永远不会到达终点。

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

我找到了几个相关的链接:

PHPMailer Fails with no error

PHP Reference Guide - PHPMailer

答案 1 :(得分:1)

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

$mail->send() 函数发送邮件,所以你可以检查邮件是否发送。