0

我需要更改低级别电子邮件的主题。 什么轨道是编码主题引用任何编码设置。 我需要的是使它被引用,但分为64字节的块,因为hotmail并不符合标准:/控制电子邮件主题in rails

我该如何告诉rails如何使用主题?

回答

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

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

+0

谢谢,实际上工作... 但hotmail仍然显示半行ok和halfed quoted_printable乱码...... 任何想法为什么? – Devenv 2010-08-26 15:53:33

+0

我只能想象它与引用和编码有关(=?iso-8859-1?Q?content?= \ n [单个空格缩进]其他?=) 我刚刚用我的确切内容从http://stackoverflow.com/questions/3545916/rails-email-subject-is-gibberish-in-hotmail,它似乎工作正常? – 2010-08-27 09:27:31

+0

使用base64编码工作:/ – Devenv 2010-08-28 12:54:36

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

+0

嘿,谢谢:)但我不是说这个问题,我知道如何分割一个字符串。 问题是,主题是作为一个行发送,我需要它与\ n在每个32字节后... – Devenv 2010-08-26 14:31:00