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

Laravel部署Heroku时Gmail无法发送重置密码邮件问题排查

Laravel 重置密码邮件在Heroku上的问题解决指南

嘿,我之前也踩过Laravel + Heroku + Gmail发邮件的坑,给你理理问题根源和靠谱的解决办法:

为什么不能硬编码配置?

你完全没必要在app/mail.php里硬编码配置值——这会把敏感的邮箱账号密码暴露在代码仓库中,风险极高。本地正常但Heroku失效的核心原因,是Gmail对第三方应用的安全限制,以及Heroku环境下的网络、配置校验逻辑和本地存在差异。

Laravel 5.x 下的Gmail可行配置方案

后来我找到一种不用插件的Gmail解决办法,亲测有效:

  • 将邮件配置改为:MAIL_PORT=465 + MAIL_ENCRYPTION=ssl
  • 开启Gmail账户的「低安全性应用访问」权限
  • 登录你的Gmail账户,访问Google的解锁验证码页面完成验证

Laravel 8 迁移后的适配方案

如果之后把Laravel从5.x升级到8版本,之前的配置可能会失效,这时候调整成以下步骤就能解决:

  • 保持开启Gmail账户的「低安全性应用访问」权限
  • 给Gmail账户启用两步验证,然后创建应用专用密码(用这个密码替代原邮箱登录密码填入配置)
  • 改回配置:MAIL_PORT=587 + MAIL_ENCRYPTION=tls
  • 同样需要登录Gmail账户,访问Google的解锁验证码页面完成验证

另外补充一句:最优方案其实是使用Heroku官方的邮件发送插件(比如SendGrid),稳定性和安全性都比直接用Gmail好很多;但如果坚持用Gmail的话,上面的步骤就能搞定你的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:29:47