【发布时间】:2011-04-26 09:01:50
【问题描述】:
我在一个简单的脚本中使用 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,得到了同样的错误。
【问题讨论】:
-
这很奇怪,因为错误很明显指向用户名/密码错误而不是协议问题。您的密码中没有可能会被错误传输的特殊字符吗?
-
1.打开 imap 和 2. myaccount.google.com/lesssecureapps