laravel - Laravel 6 发送邮件
问题描述
在使用 Laravel smtp 驱动程序发送邮件时,我遇到了身份验证问题。
.env
文件:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=account@gmail.com
MAIL_FROM_ADDRESS=account@gmail.com
MAIL_PASSWORD=app_password
MAIL_ENCRYPTION=tls
它给出了以下错误:
“需要 530-5.7.0 身份验证。”
2-Factor auth 已启用并使用应用程序密码;
还尝试在 465 上使用 SSL,同样的错误;
每次更改 .env 时都会刷新配置;
config/mail 中的所有内容都对应于 .env;
所以所有典型的解决方案都不起作用。还有什么可能导致这个问题?
我也尝试过将 smtp.vivaldi.net 与 vivaldi 帐户一起使用,它进行身份验证,但出现错误:
“没有有效的收件人”
而收件人电子邮件肯定是有效的,这对我来说也很奇怪。
解决方案
我已经多次偶然发现此问题,因此我不记得收到的确切错误消息,但这是我的假设。
Google 有一个名为“不太安全的应用程序”的选项,您需要启用该选项才能通过其 SMTP 接口直接发送邮件。你能检查这个标志是否被禁用并尝试启用它吗?
https://support.google.com/a/answer/6260879
除此之外,谷歌正在慢慢弃用此功能。从 2020 年中期开始,您将无法再启用此标志,他们将在 2021 年将其完全删除。
推荐阅读
- websocket - 托管网络游戏无需转发端口?
- javascript - form.isFieldsTouched() 改变时如何渲染元素
- windows - 有什么方法可以在 Windows 10 下登录哪些进程访问 GPU?
- python - 如何使用函数的最后一个返回值作为循环中同一函数的输入。Python
- python - 该脚本不通过 crontab 运行
- ldap - 来自命令行的 Nexus 容器中的 LDAP 配置
- java - 我无法在帧中拖放
- php - 如何在 Laravel 中使用选择列表导出 Excel
- python - Python 关闭后不释放文件
- html - Mat-select默认选择值不显示图像