我在一个简单的脚本中使用 PHPMailer 通过 Gmail 发送电子邮件,我得到一个“未知错误”(至少对我来说!):
SMTP 错误:无法验证。错误:SMTP 错误:无法验证。
SMTP 服务器错误:5.7.1 不接受用户名和密码。如需了解详情,请访问 535 5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257 p38sm2467302ybk.16
我已经阅读了为 SSL/TLS 连接配置 OpenSSL,并且我做到了。Apache 和 PHP 配置正确(OpenSSL 扩展在 PHP 中运行,mod_ssl 在 Apache 2.2.16 中运行)。
这是 PHP 脚本:
<?php
require_once ("PHPMailer\class.phpmailer.php");
$Correo = new PHPMailer();
$Correo->IsSMTP();
$Correo->SMTPAuth = true;
$Correo->SMTPSecure = "tls";
$Correo->Host = "smtp.gmail.com";
$Correo->Port = 587;
$Correo->UserName = "foo@gmail.com";
$Correo->Password = "gmailpassword";
$Correo->SetFrom('foo@gmail.com','De Yo');
$Correo->FromName = "From";
$Correo->AddAddress("bar@hotmail.com");
$Correo->Subject = "Prueba con PHPMailer";
$Correo->Body = "<H3>Bienvenido! Esto Funciona!</H3>";
$Correo->IsHTML (true);
if (!$Correo->Send())
{
echo "Error: $Correo->ErrorInfo";
}
else
{
echo "Message Sent!";
}
?>
用户名和密码都可以,我在 Thunderbird 中尝试过,没有任何问题。我还使用了 SSL 身份验证和端口 465,得到了同样的错误。