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

Ale*_*rri 47 php phpmailer

我在一个简单的脚本中使用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配置正确(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!";
  }
?>
Run Code Online (Sandbox Code Playgroud)

用户名和密码都没问题,我试过Thunderbird,没有任何问题.我还使用了SSL身份验证和端口465,获得了相同的错误.

cwd*_*cwd 65

我遇到了这个问题.为了使其正常运行,我必须转到myaccount.google.com - >"登录和安全" - >"具有帐户访问权限的应用",并将"允许不太安全的应用"转为"开启"(靠近底部)这页纸).

在此输入图像描述

  • 从 2022 年 5 月 30 日起,“允许安全性较低的应用程序”设置不再可用 (4认同)
  • 我很抱歉迟到的回复.对于那些你无法看到允许不太安全的应用程序对话框.1.转到您的帐户2.已连接的应用和网站(登录和安全标签)3.您应该在"已连接的应用和网站"下看到三个标签.但是,如果您只看到 - "应用程序已连接到您的帐户"和"已保存的密码".4.在侧栏上单击"登录Google" - 关闭两步验证.5.现在您将看到允许不太安全的应用程序.如果打开则转动. (3认同)
  • 我有一个问题:有没有一种方法,我们可以在不关闭两步验证的情况下完成?如果可能的话,我希望将其用于“Gmail”帐户。 (2认同)

mal*_*tjo 24

试试这个:

$ Correo-> Username ="foo@gmail.com";

我测试了它,它的工作完美,没有其他变化


IRv*_*ziE 21

这是GMail问题

阅读此Google帮助(https://support.google.com/mail/answer/14257?p=client_login&rd=1)

  1. 打开网络浏览器并通过http://mail.google.com/mail登录Gmail .如果您看到单词验证请求,请在扭曲的图片中键入字母并完成登录.
  2. 关闭浏览器并尝试再次在电子邮件客户端中访问您的邮件.
  3. 如果您仍然遇到问题,请访问http://www.google.com/accounts/DisplayUnlockCaptcha并使用您的Gmail用户名和密码登录.如有必要,请在扭曲的图片中输入字母.
  4. 单击继续.
  5. 重新启动邮件客户端并尝试再次访问电子邮件客户端中的邮件.

SMTP错误:无法进行身份验证

Gmail问题


Myk*_*tin 14

因为“允许不太安全的应用程序”不再可用

在此输入图像描述

解决方案是启用两步验证并生成应用程序密码

应用程序

从列表中选择邮件和计算机,然后单击生成

复制框中显示的代码并将您的谷歌密码替换为您的应用程序密码,它就像一个魅力。

应用程序密码


小智 8

我收到了同样的错误,在我的情况下,它是密码.我的密码有特殊字符,如果您提供密码而不转义特殊字符,则错误将继续显示.例如$mail->Password = " por$ch3"; 有效,但使用上面的代码无效.解决方案应如下所示:$mail->Password = "por\$ch3";注意我在密码中放置美元字符之前的反斜杠.如果你有一个使用特殊字符的密码,这应该工作

  • 您可以只使用单引号。只有单引号本身必须被转义。 (2认同)

ibr*_*tra 6

我的解决方案是:

  1. 更改 Gmail 密码
  2. 在 gmail 上“管理您的 google 帐户”> 安全 > 打开第 3 方应用程序访问
  3. 这是我通过 UnlockingCaptcha 发现的新步骤,在本网站中告诉,确切的网站是https://accounts.google.com/b/0/DisplayUnlockCaptcha,但也许您想先阅读前一个网站。

这一切,希望它对你有用


Red*_*Red 5

WP-Mail-SMTP在 Wordpress 中配置插件时,我遇到了同样的错误。

即使我对设置和登录凭据进行了“三重检查”,并且能够使用浏览器手动登录,问题仍然存在。

您可以采取一系列步骤来解决此问题。

  1. 为您要使用的 Gmail 帐户创建新密码
  2. Google 安全设置中启用安全性较低的应用
  3. 使用该Display Unlock Captcha页面授予您的应用或网站登录 Gmail 的权限。单击Continue或按照说明操作。
  4. 使用应用程序或网站登录。对我有用的 smtp 设置是1) SMTP 主机:smtp.gmail.com 2) SMTP 端口:587 3) 加密:TLS 4) 身份验证:SMTP 身份验证 5) 用户名​​:example@gmail.com 6) 密码:examplesecret