PHPMailer中的“SMTP错误:无法进行身份验证”

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (585)

我在一个简单的脚本中使用PHPMailer通过Gmail发送电子邮件,我得到一个“未知错误”(至少对我而言!):

SMTP错误:无法进行身份验证。错误:SMTP错误:无法进行身份验证。 SMTP服务器错误:5.7.1不接受用户名和密码。要了解详情,请访问535 5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257 p38sm2467302ybk.16

我读过有关配置OpenSSL For SSL / TLS Connections的内容,我做到了。Apache和PHP已正确配置(使用在PHP中运行的OpenSSL扩展和在Apache 2.2.16中运行的mod_ssl)。

这是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,获得了相同的错误。

提问于
用户回答回答于

我收到此错误是因为密码中有百分号。

用户回答回答于

我遇到了同样的问题并完成了所有提示,包括Gmail设置(例如安全性较低的应用访问),没有运气。但最后当我将密码更改为不同的东西时,出于某种原因它才起作用!仅供参考,初始密码没有任何特殊字符。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励