PHPMailer错误使用GMAIL:邮件程序错误:SMTP连接()

时间:2017-04-03 10:36:42

标签: php xampp gmail phpmailer

我尝试使用我的Gmail帐户从我的localhost发送电子邮件。 我也尝试在网络上找到答案,甚至在这个网站上也没有找到帮助。我正在使用XAMPP。

这是代码:

require 'PHPMailer-master/PHPMailerAutoload.php';

$mail = new PHPMailer();         // create a new object
$mail->IsSMTP();                 // enable SMTP
$mail->SMTPDebug = 2;            // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true;          // authentication enabled
$mail->SMTPSecure = 'ssl';       // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;               // or 587
$mail->IsHTML(true);
$mail->Username = "myUser@gmail.com";
$mail->Password = "myUserPass";
$mail->SetFrom("myUser@gmail.com");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("OtherUser@gmail.com");

if(!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message has been sent";
}

我得到的完整错误:

  

2017-04-03 10:33:15服务器 - >客户:220 smtp.gmail.com ESMTP   p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:15客户 - >服务器:EHLO   localhost 2017-04-03 10:33:15服务器 - >客户:250-smtp.gmail.com at   您的服务,[46.117.89.127] 250-SIZE 35882577 250-8BITMIME 250-AUTH   登录平原XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH   250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8   2017-04-03 10:33:15客户 - >服务器:AUTH LOGIN 2017-04-03   10:33:15服务器 - >客户:334 VXNlcm5hbWU6 2017-04-03 10:33:15客户端    - >服务器:bXlVc2VyQGdtYWlsLmNvbQ == 2017-04-03 10:33:15 SERVER - >客户:334 UGFzc3dvcmQ6 2017-04-03 10:33:15客户 - >服务器:   bXlVc2VyUGFzcw == 2017-04-03 10:33:15 SERVER - >客户:535-5.7.8   用户名和密码不被接受。在535 5.7.8了解更多信息   https://support.google.com/mail/?p=BadCredentials p7sm17594308wrc.19 -   gsmtp 2017-04-03 10:33:15 SMTP错误:密码命令失败:   535-5.7.8不接受用户名和密码。在535 5.7.8了解更多信息   https://support.google.com/mail/?p=BadCredentials p7sm17594308wrc.19 -   gsmtp 2017-04-03 10:33:15 SMTP错误:无法进行身份验证。   2017-04-03 10:33:15客户 - >服务器:QUIT 2017-04-03 10:33:16服务器    - >客户端:221 2.0.0关闭连接p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:16 SMTP connect()失败。   https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting梅勒   错误:SMTP连接()失败。   https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

我试图删除它:

$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail

或者将端口更改为25/587,但它没有帮助。 有人知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

假设您输入的用户名和密码正确无误,则需要授权外部应用程序使用gmail。

按照以下步骤授权进行操作:

  1. 首先,转到Google Account Management page
  2. Connected apps & sites下,点击Allow less secure apps: ON
  3. 如果它不起作用,如果您的Gmail帐户启用了两步验证,use an auto-generated password

    <强>更新

    虽然转动Allow less secure apps: ON可能会解决您的问题,但应将其作为故障排除提示,而不是最终解决方案。

答案 1 :(得分:0)

您应该关闭Anti Virut或防火墙中受保护的电子邮件