无法通过 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中文网其他相关文章!