0

メールの件名を低レベルで変更する必要があります。Railsが行うことは、設定されているエンコーディングで引用されているように件名をエンコードすることです。hotmail は実際には標準に準拠していないため、引用する必要がありますが、64 バイトのチャンクに分割する必要があります:/

主題をそのまま取るようにレールに指示するにはどうすればよいですか?

4

2 に答える 2

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

于 2010-08-26T11:57:53.163 に答える
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 のメーラーに含めると、動作するはずです。または、Rails 3 のデフォルトのメーラーであるhttp://github.com/micel/mail/を参照してください。

次に、前の回答が示したように、エンコードする前にヘッダーを設定できます。

于 2010-08-26T15:28:15.530 に答える