メールの件名を低レベルで変更する必要があります。Railsが行うことは、設定されているエンコーディングで引用されているように件名をエンコードすることです。hotmail は実際には標準に準拠していないため、引用する必要がありますが、64 バイトのチャンクに分割する必要があります:/
主題をそのまま取るようにレールに指示するにはどうすればよいですか?
メールの件名を低レベルで変更する必要があります。Railsが行うことは、設定されているエンコーディングで引用されているように件名をエンコードすることです。hotmail は実際には標準に準拠していないため、引用する必要がありますが、64 バイトのチャンクに分割する必要があります:/
主題をそのまま取るようにレールに指示するにはどうすればよいですか?
"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
前の質問への回答のフォローアップとしてこれを見ました。問題は 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 のメーラーに含めると、動作するはずです。または、Rails 3 のデフォルトのメーラーであるhttp://github.com/micel/mail/を参照してください。
次に、前の回答が示したように、エンコードする前にヘッダーを設定できます。