Mail gem(つまり、Rails + ActionMailer)を使用して、受信者の表示名を取得するクリーンな方法はありますか?
私は次のアドレスを取得できます:
mail.to.first
そして、フォーマットされた表示名とアドレスを次のように取得できます。
mail.header_fields.select{ |f| f.name == "To" }.first.to_s
しかし、どうすれば表示名の部分だけを取得できますか(つまり、<
との前>
)。誰かが正規表現を提案しようとしていることは知っていますが、それは私が探しているものではありません。それは、メールの宝石がおそらくすでに行っているエンコーディングを解析する必要があるからです。私はPHPで人気のあるメーラーライブラリの作成者であり、8ビット文字が登場するときにヘッダーで人間が読める形式の前<
のビットを想定することの落とし穴を認識しています。>
私がすることができます:
mail.header_fields.select{ |f| f.name == "To" }.first.parse.individual_recipients.first.display_name.text_value
しかし、もっと良い方法があるに違いありませんか?:)