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

Rails邮件模板中link_to生成的链接无法点击问题求助

解决Rails邮件器生成的链接在Gmail中无法点击的问题

我之前也遇到过类似的问题!Gmail对邮件里的HTML链接解析有时候挺挑剔的,结合你的代码来看,大概率是这几个地方出了问题,给你几个排查和解决的方案:

  • 检查邮件模板的文件名
    你的模板文件后缀是不是.html而不是.html.erb?Rails只会自动解析后缀为.erb的模板文件里的Ruby代码(比如<%= link_to %>)。如果是.html,那里面的ERB标签会直接以文本形式输出,自然不会生成可点击的链接。把文件名改成magic_login_email.html.erb就好啦。

  • 直接使用原生HTML <a> 标签替代 link_to
    有时候Rails的link_to生成的HTML可能带有一些Gmail不太友好的属性(比如额外的data-*属性),换成原生的HTML链接更稳妥:

    <a href="<%= @customer_login_url %>">Log in now</a>
    

    这样生成的就是标准的HTML链接,Gmail肯定能识别。

  • 确认邮件的内容类型设置正确
    虽然你的模板是HTML,但可以在邮件器的mail方法里明确指定发送HTML格式的邮件,避免内容类型识别错误:

    mail(to: customer.email, subject: "Here's your login link", content_type: "text/html")
    
  • 验证生成的邮件HTML内容
    在开发环境里,你可以用letter_opener gem来预览发送的邮件,看看实际生成的HTML里链接是不是正确渲染了。如果预览里链接是正常的,那可能是邮件发送过程中被某些邮件服务修改了格式,但这种情况比较少见。

你可以先试试第一个方案,这是最常见的原因!如果还是不行,再依次排查后面的方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 21:17:48