Ruby on rails 在rails中控制电子邮件主题
我需要在一个低层次上改变邮件的主题。 rails所做的是按照设置的任何编码中引用的方式对主题进行编码。 我需要的是将其引用,但分成64字节的块,因为hotmail实际上不符合标准:/ 我如何告诉rails按原样处理主题Ruby on rails 在rails中控制电子邮件主题,ruby-on-rails,email,character-encoding,email-headers,quoted-printable,Ruby On Rails,Email,Character Encoding,Email Headers,Quoted Printable,我需要在一个低层次上改变邮件的主题。 rails所做的是按照设置的任何编码中引用的方式对主题进行编码。 我需要的是将其引用,但分成64字节的块,因为hotmail实际上不符合标准:/ 我如何告诉rails按原样处理主题 "This is a very very long subject line of an email that hotmail has problems processing".scan(/.{1,16}/) #=> ["This is a very v", "ery lo
"This is a very very long subject line of an email that hotmail has problems processing".scan(/.{1,16}/)
#=> ["This is a very v", "ery long subject", " line of an emai", "l that hotmail h", "as problems proc", "essing"]
我已经用16个字符完成了,这里有一个链接到文档
HTH我看了一下这个,作为对上一个问题回答的后续。问题在于TMail。它会自动从主题中删除并返回回车。我创建了以下猴子补丁,因为它似乎是阻止TMail行为的唯一解决方案
module TMail
class SubjectHeaderField < UnstructuredHeader
def parse
#Do nothing
end
end
class HeaderField
FNAME_TO_CLASS = FNAME_TO_CLASS.merge('subject' => SubjectHeaderField)
end
end
模块TMail
类SubjectHeaderField<非结构化标头
定义解析
#无所事事
结束
结束
班长场
FNAME_TO_CLASS=FNAME_TO_CLASS.merge('subject'=>SubjectHeaderField)
结束
结束
如果您将它包含在Rails 2.3.x的邮件程序中,它应该可以工作。或者,您可能想看看Rails3中的默认邮件程序是哪个
然后,您可以在编码之前设置标题,如前面的答案所示。嘿,谢谢:)但我不是指这个问题,我知道如何拆分字符串。问题是主题是以一行的形式发送的,我需要它在每32个字节后都带有\n…谢谢,这确实有效。。。但是hotmail仍然显示了一半行ok和一半引用的可打印的胡言乱语。。。知道为什么吗?我只能想象这与引用和编码有关(?iso-8859-1?Q?内容?=\n[单空格缩进]其他内容?=)我只是用我的确切内容尝试了一下,似乎效果很好?