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

时间:2015-08-01 05:15:38

标签: php codeigniter smtp gmail phpmailer

我在Gmail上创建了一个帐户(因为前一个帐户给了我同样的问题),以便我的应用程序可以使用google 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上的一些设置,使其工作但一切都失败了

任何想法?你知道会发生什么吗?

4 个答案:

答案 0 :(得分:4)

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

  

... 534-5.7.9请使用您的网络浏览器登录,然后重试。了解更多信息,请点击534 5.7.9 https://support.google.com/mail/answer/78754 b16sm3352387qga.48 - gsmtp

在阅读本网站时,您会发现有关支持客户端的内容,这些内容仅提供不太安全的授权方法。您的客户端就是其中之一follow the link,以了解如何在gmail中启用对这些应用程序的支持。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

不必说这一定是主题打开器发生的事情,但是我今天也遇到了同样的错误。我得到它的原因是因为我创建了一个新的电子邮件地址,并且您首先需要通过浏览器登录一次Gmail,然后才能使用smtp。

通过浏览器登录Gmail Web客户端并完成初始流程后,我能够通过smtp端点发送。

答案 3 :(得分:-2)

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

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