使用Mail gem(即Rails + ActionMailer),是否有一种干净的方式来获取收件人的显示名称?
我可以通过以下方式获取地址:
mail.to.first
我可以通过以下方式获取格式化的显示名称+地址:
mail.header_fields.select{ |f| f.name == "To" }.first.to_s
但是我怎样才能得到显示名称部分(即在<
and之前>
)。我知道有人会建议一个正则表达式,但这不是我想要的,因为我必须解析出任何编码,这可能是 Mail gem 已经做的事情。我是 PHP 中一个流行的 Mailer 库的作者,我意识到当 8 位字符开始发挥作用时,在标题中仅假设前面的位<
并且在标题中是人类可读的陷阱。>
我可以做这个:
mail.header_fields.select{ |f| f.name == "To" }.first.parse.individual_recipients.first.display_name.text_value
但一定有更好的方法吗?:)