简体   繁体   English

使用GMAIL的PHP​​Mailer错误:Mailer错误:SMTP connect()

[英]PHPMailer ERROR USING GMAIL: Mailer Error: SMTP connect()

I tried to send email from my localhost using my gmail account. 我尝试使用gmail帐户从本地主机发送电子邮件。 I also tried to find answers in the web and even in this website but nothing helped me. 我还尝试在网络上甚至在此网站中找到答案,但没有任何帮助。 I am using XAMPP. 我正在使用XAMPP。

This is the code: 这是代码:

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";
}

The full error which I got: 我得到的完整错误:

2017-04-03 10:33:15 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:15 CLIENT -> SERVER: EHLO localhost 2017-04-03 10:33:15 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [46.117.89.127] 250-SIZE 35882577 250-8BITMIME 250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 2017-04-03 10:33:15 CLIENT -> SERVER: AUTH LOGIN 2017-04-03 10:33:15 SERVER -> CLIENT: 334 VXNlcm5hbWU6 2017-04-03 10:33:15 CLIENT -> SERVER: bXlVc2VyQGdtYWlsLmNvbQ== 2017-04-03 10:33:15 SERVER -> CLIENT: 334 UGFzc3dvcmQ6 2017-04-03 10:33:15 CLIENT -> SERVER: bXlVc2VyUGFzcw== 2017-04-03 10:33:15 SERVER -> CLIENT: 535-5.7.8 Username and Password not accepted. 2017-04-03 10:33:15服务器->客户:220 smtp.gmail.com ESMTP p7sm17594308wrc.19-gsmtp 2017-04-03 10:33:15客户->服务器:EHLO本地主机2017-04-03 10 :33:15服务器->客户:250-smtp.gmail.com为您提供服务,[46.117.89.127] 250大小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登录2017-04-03 10:33:15服务器->客户端:334 VXNlcm5hbWU6 2017-04-03 10:33:15客户端- >服务器:bXlVc2VyQGdtYWlsLmNvbQ == 2017-04-03 10:33:15服务器->客户:334 UGFzc3dvcmQ6 2017-04-03 10:33:15客户->服务器:bXlVc2VyUGFzcw == 2017-04-03 10:33: 15服务器->客户端:535-5.7.8不接受用户名和密码。 Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:15 SMTP ERROR: Password command failed: 535-5.7.8 Username and Password not accepted. 在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用户名和密码不被接受。 Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:15 SMTP Error: Could not authenticate. 在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 CLIENT -> SERVER: QUIT 2017-04-03 10:33:16 SERVER -> CLIENT: 221 2.0.0 closing connection p7sm17594308wrc.19 - gsmtp 2017-04-03 10:33:16 SMTP connect() failed. 2017-04-03 10:33:15客户端->服务器:退出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 Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/故障排除邮件程序错误:SMTP connect()失败。 https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting https://github.com/PHPMailer/PHPMailer/wiki/疑难解答

I tried to delete that: 我试图删除它:

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

Or changing the port to 25/587 but it did not help. 或将端口更改为25/587,但没有帮助。 Does someone know how to fix that? 有人知道该如何解决吗?

Assuming that your username and password entered is correct, you need to authorize the external application use of gmail. 假设您输入的用户名和密码正确,则需要授权外部应用使用gmail。

Follow the next steps and authorize to make it: 请执行以下步骤并授权进行此操作:

  1. First, go to your Google Account Management page 首先,转到您的Google帐户管理页面
  2. Under the Connected apps & sites , click Allow less secure apps: ON 在“ 已连接的应用和网站”下 ,单击“ Allow less secure apps: ON

In case it does not work, if your gmail account has 2-step verification enabled, use an auto-generated password . 如果您的gmail帐户启用了两步验证,请使用自动生成的密码 ,以防万一。

Update: 更新:

Although turning Allow less secure apps: ON might solve your problem, it should be taken as a troubleshooting tip and not as the final solution. 尽管将“ Allow less secure apps: ON虽然可以解决您的问题,但应将其作为故障排除技巧,而不是最终解决方案。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM