我有以下代码用 phpMailer 发送电子邮件。我不明白的是,即使我使用了错误的密码,电子邮件也会被发送,一切正常。在这种情况下,电子邮件的标题给出了这个答案(根据实际情况改编):X-PHP-Originating-Script:532:class.phpmailer.php
如何强制显示登录错误并避免发送电子邮件?我想在尝试连接到SMTP服务器后,这与使用其他方法的类有关。我不希望在所有情况下都发送电子邮件,如果密码已更改或服务不可用,我想知道它和脚本停止并抛出错误。我使用了该类的最新版本。
require 'phpmailer/class.phpmailer.php';
$to = "someone-email@example.com";
$subject = "Hello World";
$body = "HELLO WORLD";
$mail = new PHPMailer;
$mail->Host = "mail.example.com";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "example@example.com";
$mail->Password = "**********";
$mail->From = "example@example.com";
$mail->FromName = "TEST";
$mail->AddReplyTo($to);
$mail->addAddress($to);
$mail->Subject = $subject;
$mail->MsgHTML($body);
if(!$mail->Send())
{
echo "KO " . $mail->ErrorInfo;
return false;
}
else
{
echo "OK";
return true;
}
答案 0 :(得分:2)
您没有使用SMTP,因此我猜它默认为mail()
,但不接受身份验证。
启用SMTP:
$mail->IsSMTP();