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

ROR生产环境配置SendGrid API Key发邮件出现链接不一致问题

这不是SendGrid API Key的配置问题,如果API Key配置错误,你根本无法通过SendGrid成功发送邮件,生产日志也会返回对应的权限报错。

你遇到的链接替换现象是SendGrid默认开启的*点击跟踪(Click Tracking)*功能导致的:该功能为了统计邮件内链接的点击数据,会自动将邮件中所有原始链接替换为SendGrid的跳转链接,也就是你收到的engage.portalone.io前缀的链接,用户点击后会自动重定向到你原始生成的找回密码地址,本身不影响功能正常使用。

解决方案

如果你不需要点击跟踪功能,或者不希望链接被替换,可以通过以下方式处理:

  • 全局关闭点击跟踪:登录SendGrid管理后台,进入跟踪设置页找到「Click Tracking」选项,直接关闭即可,关闭后所有邮件的链接都不会再被替换。
  • 针对单封邮件关闭跟踪:如果不想全局禁用该功能,只希望密码重置这类验证邮件不触发链接替换,可以在对应邮件的发送逻辑中添加SendGrid专用的SMTP头配置:
# 以Devise密码重置邮件为例,可在自定义的Devise邮件er中添加以下代码
headers['X-SMTPAPI'] = {
  filters: {
    clicktrack: {
      settings: {
        enable: 0
      }
    }
  }
}.to_json
  • 配置自定义跟踪域名:如果要保留点击跟踪功能,又不想显示SendGrid默认的engage.portalone.io域名,可以在SendGrid后台配置自定义链路域名,将跳转域名替换为你自己的专属子域名。

额外优化提示:你当前的config.action_mailer.default_url_options配置没有显式指定协议,如果生产环境使用HTTPS,建议补充protocol: 'https'配置,避免特殊场景下生成HTTP协议的不安全链接:

config.action_mailer.default_url_options = { host: ENV['DOMAIN'], port: ENV['PORT'], protocol: 'https' }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 20:06:04