我需要在较低级别更改电子邮件的主题。 rails所做的是对所设置的任何编码中引用的主题进行编码。 我需要的是引用它,但分成64字节的块,因为Hotmail不符合标准:/
如何告诉rails以原样拍摄主题?
答案 0 :(得分:1)
"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个字符,这里是文档http://www.ruby-doc.org/core/classes/String.html#M000812
的链接HTH
答案 1 :(得分:1)
我看了一下这是对上一个问题的回答的跟进。问题在于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
如果你把它包含在Rails 2.3.x的邮件程序中,它应该可行。或者,您可能希望查看http://github.com/mikel/mail/哪个是Rails 3中的默认邮件程序?
然后您可以在编码之前设置标题,如上一个答案所示。