Laravel Gmail无效,"用户名和密码不被接受。了解更多......"

时间:2014-08-11 17:55:02

标签: php laravel gmail

当我尝试通过运行Laravel 4的网站发送电子邮件时,我遇到了这个例外:

{"error":{"type":"Swift_TransportException","message":"Expected response code 250 but got code \"535\", with message \"535-5.7.8 Username and Password not accepted. Learn more at\r\n535 5.7.8 http:\/\/support.google.com\/mail\/bin\/answer.py?answer=14257 y70sm14744455qgd.3 - gsmtp\r\n\"","file":"\/var\/www\/vendor\/swiftmailer\/swiftmailer\/lib\/classes\/Swift\/Transport\/AbstractSmtpTransport.php","line":386}}

这是我的邮件配置:

return array(
  'driver' => 'smtp',
  'host' => 'smtp.gmail.com',
  'port' => 465,
  'from' => array('address' => 'mymail@gmail.com', 'name' => 'myname'),
  'encryption' => 'ssl',
  'username' => 'mymail@gmail.com',
  'password' => 'lol',
  'sendmail' => '/usr/sbin/sendmail -bs',
  'pretend' => false,
);

我已经尝试过通过谷歌搜索这个问题找到的禁用链接,除了它没有什么区别。

有没有办法告诉Google“停止阻止此IP,这是我”?

8 个答案:

答案 0 :(得分:44)

我尝试了同样的事情并得到了同样的错误。所以我亲自检查了我的Gmail帐户,我收到了Gmail发来的消息让我知道他们已阻止对我的电子邮件帐户的访问尝试。

他们通过访问https://www.google.com/settings/security/lesssecureapps显示了禁用此安全设置的选项。

答案 1 :(得分:27)

转到此链接并禁用解锁验证码 https://accounts.google.com/b/0/DisplayUnlockCaptcha

答案 2 :(得分:14)

试试这个:

  1. 将端口更改为587
  2. 转到gmail设置https://www.google.com/settings/security/lesssecureapps 并激活它。

答案 3 :(得分:11)

https://www.google.com/settings/security/lesssecureapps并激活它。 https://accounts.google.com/b/0/DisplayUnlockCaptcha并激活它。

'port' => env('MAIL_PORT', 587), <br>
'encryption' => env('MAIL_ENCRYPTION', 'tls'),

答案 4 :(得分:4)

我知道这不能回答你的问题...但我会说不要使用gmail进行SMTP发送。

使用像mandrill / mailgun这样的服务... IE是为这类事物而设的服务。在这里查看我的mandrill设置:

http://laravel.io/forum/07-06-2014-mail-with-mandrill-doesnt-work?page=1#reply-10154

Mandrill每月为您提供12k的免费电子邮件。

答案 5 :(得分:4)

我有很多问题需要找到答案。然后经过大量的试验和错误,我找到了解决方案。上面的大多数解决方案都适用于其他解决方案,但它可以帮助我达到50%。

所以,这就是它对我有用的方法(100%):

  1. 在Google中激活2步验证
  2. 现在您将能够创建应用。打开它。
  3. 创建新应用(其他应用)并提供您的应用名称。
  4. 现在生成密码。
  5. 接下来在laravel中,转到.env文件并更改

        MAIL_USERNAME= 'App Name you created'
        MAIL_PASSWORD= 'Generated Password for that app'
    

    这应该能够从您的Gmail帐户发送电子邮件。 如果它不适合你,请发表评论。

答案 6 :(得分:3)

您是否激活了两步Google身份验证?如果是这样,您需要定义新的“应用程序专用密码”密码:http://www.google.com/landing/2step/

答案 7 :(得分:-1)

从用户名中删除@ gmail.com,您已经提到过smtp。因此,无需在用户名上使用@ gmail.com。我100%肯定是您的问题,因为我遇到了这个问题。