2014-02-08 42 views
2

我使用Mikel的邮件gem成功,但我试图从电子邮件地址拉出名字,没有太多的运气。使用Mikel的邮件宝石访问未解析的电子邮件地址

如果我收到'Mikel Lindsaar([email protected])',那么我可以访问[email protected],但不能访问'Mikel Lindsaar'。

我一直在使用邮件对象本身的to/cc/from方法。我不知道我会怎么使用的Mail :: Address类的文档中:http://www.ruby-doc.org/gems/docs/m/mail-2.5.4/Mail/Address.html

回答

2

这里是你所需要的一个简单的例子:

mail = Mail.new do 
    from "Mikel Lindsaar <[email protected]>" 
end 

mail.header[:from].field.display_names #=> ["Mikel Lindsaar"] 

以上是一种尴尬,但工程。标题[:from]上的#field方法返回一个Mail::FromField,它或多或少是Mail::CommonAddress,后者又封装了若干个Mail::Address es。有点复杂的权利? CommonAddress有几个方便的方法来操纵该地址列表。

您可以通过

mail.from.instance_variable_get("@field") 
+0

非常感谢,尼科斯得到相同FromField实例。它运作良好,并会做得很好。 –

相关问题