我正在成功使用Mikel的Mail gem,但是我试图从电子邮件地址中取出这个名字而没有太多运气。
如果我收到'Mikel Lindsaar(mikel@test.lindsaar.net)',那么我可以访问mikel@test.lindsaar.net但不能访问'Mikel Lindsaar'。
我一直在使用邮件对象本身的to / cc / from方法。我不确定如何在文档中使用Mail :: Address类:http://www.ruby-doc.org/gems/docs/m/mail-2.5.4/Mail/Address.html
答案 0 :(得分:2)
以下是您需要的简化示例:
mail = Mail.new do
from "Mikel Lindsaar <mikel@test.lindsaar.net>"
end
mail.header[:from].field.display_names #=> ["Mikel Lindsaar"]
以上是有点尴尬但有效。标头[:from]上的#field
方法返回Mail::FromField
,它或多或少是Mail::CommonAddress
,后者又封装了多个Mail::Address
es。有点复杂吧? CommonAddress
有一些方便的方法可以操作地址列表。
您可以通过
获得相同的FromField
实例
mail.from.instance_variable_get("@field")