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

Rails使用Mailform gem本地正常但Heroku生产环境无法收到邮件问题

问题排查与修复方案

  • 首先修正配置中的明显错误:
    1. 将config.action_mailer.raise_delivery_errors改为true,当前配置关闭了投递错误抛出,你无法从日志中看到Gmail接口返回的实际拒绝原因,修改后重新部署复现问题,即可从日志中拿到具体报错信息。
    2. 修正default_url_options的host配置,Heroku默认的子域名不需要加www前缀,将https://www.iliazolas.herokuapp.com改为https://iliazolas.herokuapp.com,错误的域名会触发Gmail的垃圾邮件拦截规则。
  • 针对Gmail发件限制的修复:
    1. 登录你的Gmail账号,进入安全活动页面,查看是否有来自Heroku节点的异常登录拦截记录,如果存在直接标记为本人操作放行即可。
    2. 如果你的Gmail账号开启了两步验证,低安全性应用访问权限会自动失效,需要在Google账号安全设置中生成应用专用密码,将ENV['GMAIL_PASSWORD']替换为该专用密码即可。
    3. 调整MailForm的发件人配置:不要直接将表单提交的访客邮箱作为发件人,会触发Gmail的SPF校验失败直接拒收邮件,正确的做法是将发件人固定为你自己的Gmail地址,将reply_to字段设置为访客提交的邮箱,既可以正常收信,回复时也会直接发送给访客。
  • 额外注意:2022年起Google已经全面停止了普通Gmail账号的低安全性应用访问支持,如果你后续仍有问题,建议切换为SendGrid等专业邮件发送服务,Heroku也有对应的免费插件可以直接开通使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:15:03