我正在尝试通过 Laravel 发送电子邮件。
但它出现错误。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=******
MAIL_ENCRYPTION=tls
$data = array('name'=>"Ripon Uddin", "body" => "Test mail");
Mail::send('email', $data, function($message) {
$message->to('[email protected]','To My Yahoo')->subject('Laravel Test Email');
$message->from('[email protected]','Ripon Uddin (Laravel Lover)');
});
获取错误:
无法使用 3 个可能的身份验证器在 SMTP 服务器上使用用户名“[email protected]”进行身份验证。身份验证器登录返回 Swift_TransportException:预期响应代码 235,但收到代码“535”,并显示消息“535-5.7.8 用户名和密码未接受。了解更多信息,请访问 535 5.7.8 https://support.google.com/mail/ ?p=BadCredentials r18-v6sm7406256pgv.17 - gsmtp " 中
转到此链接或gmail的应用程序密码页面,然后选择“邮件”作为“应用程序”,并将客户名称选择为“设备”。然后您将获得应用程序密码。 只需转到生产中的 config 文件夹下的 laravel mai.php 或开发模式下的 env 文件即可。将生成的代码粘贴到密码部分
'password' => 'generated code',
全部跑完后:php artisan config:cache
Google 更改了其安全政策。现在,“允许安全性较低的应用程序”选项在“登录和安全性”下不可用。
Gmail 的想法是,即使使用真实的用户名和密码,Gmail 也不允许任何应用程序访问用户的 Gmail 帐户。这就是人们收到错误的原因。新机制是您应该在您的 Google 帐户中创建一个应用程序,Google 将为该应用程序生成一个密码。 Gmail 将允许使用该密码和真实用户名/Gmail ID 进行访问。
解决办法是
第 1 步: 登录您的 Gmail 帐户并“管理您的帐户”,如下图所示
第 2 步: 单击左侧边栏中的“安全”选项卡,
第 3 步: 首先为 SMTP 访问启用两步验证。
在启用两步验证之前,您将不会看到“应用程序密码”选项。 启用两步验证后,单击“应用程序密码”。你会看到这样的
如果您仍然没有看到“应用程序密码”选项,请在搜索栏中搜索它,如下所示。
第 4 步: 现在点击它。
单击第一个下拉菜单并选择“其他(自定义名称)”。在新窗口中写下您的应用程序名称并按下“生成”按钮。复制显示的密码。
使用此密码,而不是您的真实 Gmail 密码。 SMTP 配置应该如下所示
如果您在 Gmail 设置中启用了“允许安全性较低的应用程序”设置,则此配置适用于 Gmail:
mailer_transport: smtp
mailer_host: smtp.gmail.com
mailer_port: 465
mailer_encryption: ssl
mailer_auth_mode: login
mailer_user: [email protected]
mailer_password: "xxxx"
如果您在 Gmail 设置中将服务器的 IP 列入白名单,则此功能适用于 Gmail Suite(请参阅 https://support.google.com/a/answer/2956491):
mailer_transport: smtp
mailer_host: smtp-relay.gmail.com
mailer_port: 587
mailer_encryption: tls
mailer_auth_mode: login
mailer_user: [email protected]
mailer_password: "xxxx"
确保 .env 文件中的用户凭据正确。
尝试将密码放在引号中。例如:MAIL_PASSWORD =“我的密码”
要应用更改,请运行
php artisan 配置:缓存
您是否打开了“允许安全性较低的应用程序”?转到此链接
https://myaccount.google.com/security#connectedapps
查看“登录和安全”->“具有帐户访问权限的应用程序”菜单。
您必须打开“允许安全性较低的应用程序”选项。