首页 >后端开发 >php教程 >当我使用 PHPMailer 通过 Gmail 的 SMTP 服务器发送电子邮件时,为什么会收到'需要 SMTP AUTH”的信息?

当我使用 PHPMailer 通过 Gmail 的 SMTP 服务器发送电子邮件时,为什么会收到'需要 SMTP AUTH”的信息?

DDD
DDD原创
2025-01-03 04:47:431001浏览

Why Am I Getting

无法通过 PHPMailer 使用 Gmail SMTP 服务器发送电子邮件:端口 587 需要 SMTP AUTH

尝试通过 Gmail SMTP 发送电子邮件时使用 PHPMailer 的服务器,但遇到错误,指出“在端口 587 上提交消息需要 SMTP AUTH”,可以采取以下几种措施

为 PHP Mailer 提供的代码示例应调整如下:

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1; // Enables debugging
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl'; // Secure transfer using SSL
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // SMTP port
$mail->IsHTML(true);
$mail->Username = "[email protected]";
$mail->Password = "password";
$mail->SetFrom("[email protected]");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("[email protected]");

if(!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message has been sent";
}

必须确保使用 $mail-> 启用 SSL SMTPSecure = 'ssl'。如果这不能解决问题,请考虑使用 $mail->SMTPSecure = 'tls' 更改为 TLS。

还必须验证用于发送的帐户是否禁用了两步验证电子邮件,因为它可能会干扰该过程。

最后,请务必注意,某些 SMTP 服务器不支持 SSL 或 TLS 连接,可能需要替代方案配置。

以上是当我使用 PHPMailer 通过 Gmail 的 SMTP 服务器发送电子邮件时,为什么会收到'需要 SMTP AUTH”的信息?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn