Railsの電子メールの件名を制御します
-
01-10-2019 - |
質問
電子メールの主題を低レベルで変更する必要があります。 Railsが行うことは、エンコードが設定されているもので引用されているように、主題をエンコードすることです。私が必要とするのは、それを引用することですが、64バイトのチャンクに分かれています。HotMailは実際には標準には適合していないからです。
Railsに、そのように主題を取るように言うにはどうすればよいですか?
解決
私はこれを前の質問に対する私の答えのフォローアップとして見ていました。問題は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のデフォルトのメーラーはどれですか?
次に、前の回答が示すようにエンコードする前にヘッダーを設定できます。
他のヒント
"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
所属していません StackOverflow