当我尝试通过运行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,这是我”?
答案 0 :(得分:44)
我尝试了同样的事情并得到了同样的错误。所以我亲自检查了我的Gmail帐户,我收到了Gmail发来的消息让我知道他们已阻止对我的电子邮件帐户的访问尝试。
他们通过访问https://www.google.com/settings/security/lesssecureapps显示了禁用此安全设置的选项。
答案 1 :(得分:27)
转到此链接并禁用解锁验证码 https://accounts.google.com/b/0/DisplayUnlockCaptcha
答案 2 :(得分:14)
试试这个:
答案 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%):
接下来在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%肯定是您的问题,因为我遇到了这个问题。