谷歌Gmail SMTP设置不允许我用PHPMailer发送电子邮件


Google Gmail SMTP settings not allowing me to send emails with PHPMailer

我在Gmail上创建了一个帐户(因为前一个帐户给了我同样的问题),以便我的应用程序可以使用谷歌smtp服务器发送电子邮件。

我正在使用PHPMailer库,并要求它显示任何日志错误。

我总是收到类似的消息。它有一点变化,有时短一些,有时长一些,这取决于我的配置

2015-08-01 05:07:01 CLIENT -> SERVER: EHLO www.lavile.com 
2015-08-01 05:07:01 CLIENT -> SERVER: AUTH LOGIN 
2015-08-01 05:07:01 CLIENT -> SERVER: Y29udGF0by5sYXZpbGVAZ21haWwuY29t 
2015-08-01 05:07:01 CLIENT -> SERVER: WXlhdUgxMnM= 2015-08-01 05:07:01  SMTP ERROR: Password command failed: 534-5.7.9 Please log in with your web browser and then try again. Learn more at 534 5.7.9 https://support.google.com/mail/answer/78754 b16sm3352387qga.48 - gsmtp 
2015-08-01 05:07:01 SMTP Error: Could not authenticate. 
2015-08-01 05:07:01 CLIENT -> SERVER: QUIT 
2015-08-01 05:07:01 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting string(82) "SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting"

这是我的脚本

    $mail->Username = "myusername@gmail.com";
    $mail->Password = "mypassword";
    $mail->IsSMTP(); // enable SMTP
    $mail->SMTPDebug = 1; // 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->SetFrom($mail->Username, 'Contato Lavile');
    $mail->addAddress($mail->Username, "Contato Lavile");
    $mail->Subject = 'Novo contato no site Lavile';
    $mail->Body = $text;
    $mail->IsHTML(true);
    $mail->AltBody = $text;

GMAIL也会自动发送电子邮件给我,提醒我新的登录尝试被阻止。我甚至更改了gmail的一些设置,但一切都失败了

汉武帝吗?你知道会发生什么吗?

我建议实际阅读错误消息:

…534-5.7.9请使用浏览器登录后重试。了解更多信息,请访问534 5.7.9 https://support.google.com/mail/answer/78754 b16sm3352387qga。48 - GSMTP

当阅读这个站点时,你会发现一些关于支持客户端只提供较不安全的授权方法的东西。您的客户端就是其中之一,请点击链接了解如何在gmail中启用对这些应用程序的支持。

您可以发送电子邮件没有自己的smtp服务器:1)从DNS获取收件人mx主机名2)发送邮件到端口25

不是说这一定是发生在主题开场白,但我今天有完全相同的错误。我得到它的原因是因为我创建了一个新的电子邮件地址,你首先需要通过浏览器登录Gmail一次,然后才能使用smtp。

在通过浏览器登录到Gmail web客户端并检查了初始流程后,我能够通过smtp端点发送。

$mail->Host = "smtp.gmail.com";应该是这样的:

$mail->Host = "mail.yourdomain.com";//replace your domain name