You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gmail SMTP停用Less Secure Apps后Laravel本地发信修复方案咨询

Laravel 本地环境Gmail SMTP发信失效解决方案

Google 已正式停止支持*Less Secure Apps(低安全应用访问)*功能,账号设置页已移除该功能的开关入口,所有旧教程中引导开启低安全应用访问的方案均已失效。本地localhost环境不需要公网域名、不需要做域名备案或所有权验证,通过应用专用密码方案即可恢复发信,具体操作步骤如下:

前置要求

  • 用于发信的Gmail账号必须开启两步验证(2FA),未开启两步验证的账号不会显示应用专用密码的生成入口
  • 本地开发环境无需额外做内网穿透、公网映射,直接在localhost下即可调试

操作步骤

1. 生成Gmail应用专用密码

  • 登录对应Gmail账号,进入账号安全设置页面
  • 确认两步验证功能已处于开启状态,未开启的话先按引导完成2FA开启流程
  • 在两步验证设置页的底部找到「应用专用密码」选项进入
  • 应用类型选择「其他(自定义名称)」,填入标识名称比如Laravel本地开发,点击生成按钮
  • 弹窗中会展示16位长度的应用专用密码,第一时间复制保存这串密码,关闭弹窗后无法再次查看该密码

2. 修改Laravel项目邮件配置

打开项目根目录下的.env文件,将原有邮件相关配置替换为以下内容,对应位置填入自己的Gmail账号和刚生成的16位应用密码:

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=你的完整Gmail邮箱地址,例如example@gmail.com
MAIL_PASSWORD=刚才生成的16位应用专用密码,输入时不要带空格
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=你的完整Gmail邮箱地址
MAIL_FROM_NAME="${APP_NAME}"

3. 清除配置缓存生效

在项目根目录终端执行以下Artisan命令,清除旧的配置缓存:

php artisan config:clear
php artisan cache:clear

执行完成后直接调用邮件发送逻辑测试即可,不需要重启服务。

常见问题排查

  • 不要使用465端口搭配SSL加密,本地开发环境下587端口搭配TLS加密的连通性更稳定,极少出现本地网络拦截问题
  • 应用专用密码不需要和账号密码做特殊拼接,直接填入16位字符串即可
  • 本地测试如果报连接超时错误,优先检查本地防火墙、杀毒软件是否拦截了587端口的出站请求,90%以上的本地连接失败都是端口拦截导致
  • 不需要额外配置Google Cloud OAuth授权、不需要对接Gmail API,应用专用密码方案对本地开发来说成本最低,没有额外的调用频次限制

内容的提问来源于stack exchange,提问作者Akhilesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 14:48:35