在rails中控制电子邮件主题

时间:2010-08-26 10:44:40

标签: ruby-on-rails email character-encoding email-headers quoted-printable

我需要在较低级别更改电子邮件的主题。 rails所做的是对所设置的任何编码中引用的主题进行编码。 我需要的是引用它,但分成64字节的块,因为Hotmail不符合标准:/

如何告诉rails以原样拍摄主题?

2 个答案:

答案 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中的默认邮件程序?

然后您可以在编码之前设置标题,如上一个答案所示。