我尝试使用我的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,但它没有帮助。 有人知道如何解决这个问题吗?
答案 0 :(得分:1)
假设您输入的用户名和密码正确无误,则需要授权外部应用程序使用gmail。
按照以下步骤授权进行操作:
Allow less secure apps: ON
如果它不起作用,如果您的Gmail帐户启用了两步验证,use an auto-generated password。
<强>更新强>
虽然转动Allow less secure apps: ON
可能会解决您的问题,但应将其作为故障排除提示,而不是最终解决方案。
答案 1 :(得分:0)
您应该关闭Anti Virut或防火墙中受保护的电子邮件