Ruby on rails 在Ruby中的ActionMailer中将电子邮件头转换为另一种编码
我有一个用ruby 1.8.5和rails 1.2.6编写的网站 有一个反馈页面 所以 我有一个模型课:Ruby on rails 在Ruby中的ActionMailer中将电子邮件头转换为另一种编码,ruby-on-rails,ruby,encoding,actionmailer,Ruby On Rails,Ruby,Encoding,Actionmailer,我有一个用ruby 1.8.5和rails 1.2.6编写的网站 有一个反馈页面 所以 我有一个模型课: class Feedback::Notify < ActionMailer::Base def answer_for_managers(question) recipients test@test.com from "feedback@test.com" subject "Обратная связь: ответ на вопрос"
class Feedback::Notify < ActionMailer::Base
def answer_for_managers(question)
recipients test@test.com
from "feedback@test.com"
subject "Обратная связь: ответ на вопрос"
body "question" => question
content_type "text/html"
end
end
class反馈::Notify问题
内容类型为“文本/html”
结束
结束
然后我有一个控制器:
class Feedback::QuestionController < Office::BaseController
def update
Feedback::Notify.deliver_answer_for_managers(@question)
end
end
类反馈::QuestionController
问题是,当发送消息时,其主题如下所示:4)D=0=0=0=0=0=0=8=0=0=0=0=8=0=8=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=8=0=8=0=8=0=8=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0这句话的意思是:“我的朋友,我的朋友,我的朋友,我的朋友,我的朋友,我的朋友,我的朋友,我的朋友,我的朋友,我的朋友”3=33=
所以它是url编码的
有没有办法阻止将主题文本转换为url编码?
所有文件均采用UTF8编码如果将未转义的UTF-8字符放入头字段,则会违反相应的标准,并且该标准规定头字段只能由(7位)ASCII字符组成 因此,ActionMailer在这里做了正确的事情,并转义UTF-8字符。由于邮件头中没有说明要使用另一种编码,因此收件人(和所有中间服务器)除了遵循该标准之外没有其他机会,因为他们没有其他可能使用的编码的线索 由于RFC 822相当古老(但对于电子邮件来说仍然具有权威性),UTF-8只是不存在。转义是一种解决方法,通过它可以精确地指定您在标题中看到的内容。MUA应在渲染时取消显示文本并显示正确的图示符 请注意,完全可以在消息体中发送unicode文本(大多数情况下在MIME容器中)。在这里,可以使用附加头指定实际数据编码和传输编码。见ff。更多细节
请阅读RFC或查看上的Wikipedia条目。我通过在ActionMailer中添加默认的“内容传输编码”=>“7bit”来解决问题 看看报纸