Gmail locks account when sending mail via Laravel

2019-03-19 11:38发布

问题:

When I try to send an e-mail through my website running Laravel 4, I get this exception:

Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 http://support.google.com/mail/bin/answer.py?answer=14257 wd7sm12843789wjc.36 - gsmtp "

Here is my mail config:

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,
);

The first time I got this message, I had to tell Google that he can trust this IP. But I'm still having this issue on my website and Google doesn't warn me anymore.

Is there a way to tell Google "stop blocking this IP, it's me" ?

回答1:

Since I posted this question, I found a way to solve this issue.

I activated 2-steps authentication for my Google account. Then I generated an application-specific password for my Gmail account and I put this password into my Laravel application.

Now Laravel can send e-mails through my Gmail account :)



回答2:

Seems like your gmail is preventing the app that is trying to send a mail.

You've to enable the access to the laravel app.

Google's less secure enable

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

goto that above link and choose enable and then try again. It'll work.