Gmail通过Laravel发送邮件时会锁定帐户

时间:2014-08-07 22:46:25

标签: laravel-4 smtp gmail swiftmailer

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

  

预期的响应代码250但得到代码“535”,消息“535-5.7.8   用户名和密码不被接受。在535 5.7.8了解更多信息   http://support.google.com/mail/bin/answer.py?answer=14257   wd7sm12843789wjc.36 - gsmtp“

这是我的邮件配置:

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。但是我的网站上仍然存在这个问题,谷歌不再警告我了。

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

3 个答案:

答案 0 :(得分:30)

自从我发布此问题以来,我找到了解决此问题的方法。

我为自己的Google帐户启用了两步验证。然后我为我的Gmail帐户生成了一个特定于应用程序的密码,并将此密码放入我的Laravel应用程序中。

现在,Laravel可以通过我的Gmail帐户发送电子邮件:)

答案 1 :(得分:12)

好像你的Gmail正在阻止尝试发送邮件的应用。

您必须启用对laravel应用的访问权限。

Google's less secure enable

https://www.google.com/settings/security/lesssecureapps

转到上面的链接并选择启用,然后重试。它会工作。

答案 2 :(得分:0)

在laravel 7中。*我在MAIL_FROM_ADDRESS中保留为空时遇到问题,所以我建议您使用假电子邮件填写此字段。

MAIL_MAILER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=email_server@gmail.com
MAIL_PASSWORD=password_application_gmail
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=hello@gmail.com
MAIL_FROM_NAME="Name Aplication"