我正在使用 rails 3.2.5ActionMailer发送纯文本邮件。鉴于我有这样的邮件视图:
message_from_user.text.erb:
Hi <%= @recipient.name %>,
You got the following message from <%= @sender.name %>:
<%= @message %>
什么时候@message是"quotes & ampersands",那么纯文本邮件包含"quotes & ampersands". 所以看起来 Rails 只是将其视为 HTML 视图并转义任何 html 以防止跨站点脚本。然而,这是一封纯文本邮件。扩展是.text.erb并ActionMailer检测到这一点并将 MIME 设置为text/plain. 所以我永远不想逃避其中的任何html。
我的应用程序中有很多邮件模板,它们都是纯文本。我会考虑修补所有这些以包含<%=raw @message%>或<%= @message.html_safe %>不好的样式 -不是很干燥。
我尝试了各种变通方法,包括修补 Erubis 的钱。它们似乎都不起作用。我正在寻找一些补丁或配置选项或任何禁用所有.text.erb文件转义 html 的东西。
任何帮助是极大的赞赏!