Ruby on Rails中用ActionMailer创建邮件撰写链接的方法咨询
在Ruby on Rails中实现邮件撰写链接的方法
嘿,其实这个需求不需要用到ActionMailer的邮件发送功能哦——核心是利用HTML的mailto:协议,再结合Rails的视图辅助方法就能轻松搞定!
原理说明
mailto:x@company.com是一个标准的URI协议,当用户点击这个链接时,系统会自动唤起默认的邮件客户端(比如你提到的已登录Outlook),并把收件人地址自动填充到撰写界面的「To:」栏里。如果需要预设邮件主题、正文,还可以通过拼接参数实现。
在Rails中的具体实现
1. 在普通网页视图里生成链接
使用Rails内置的link_to辅助方法,直接把mailto:地址作为链接目标即可:
<%= link_to "发送邮件给x", "mailto:x@company.com" %>
如果想预设主题和正文内容,只需在链接后拼接参数:
<%= link_to "发送咨询邮件", "mailto:x@company.com?subject=关于产品的咨询&body=您好,我想了解:" %>
2. 在ActionMailer的邮件模板里生成链接
如果你需要在ActionMailer发送的邮件内容中加入这个链接,操作和普通视图完全一致——因为邮件模板本质上也是ERB(或HAML)文件,支持所有Rails视图辅助方法。比如在app/views/your_mailer/notification_email.html.erb模板中:
<p>需要帮助?请<%= link_to "联系我们的客服", "mailto:support@company.com" %></p>
补充提示
这个功能的表现完全依赖用户的系统设置:只要用户把Outlook设为默认邮件客户端且已登录,点击链接就会直接打开Outlook的撰写窗口,收件人地址已经自动填好啦!
内容的提问来源于stack exchange,提问作者Sakshi Kochhar
相关产品推荐
相关产品推荐

