我需要在低级别更改电子邮件的主题。rails 所做的是将主题编码为在设置的任何编码中引用的内容。我需要的是引用它但分成 64 字节的块,因为 hotmail 并不真正符合标准:/
我如何告诉 Rails 按原样处理主题?
我需要在低级别更改电子邮件的主题。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 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
高温高压
我将其视为对上一个问题的回答的后续行动。问题出在 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 中的默认邮件程序?
然后您可以在编码之前设置标头,如上一个答案所示。