如何使用新的rails 3邮件从电子邮件的前面字段获取名称部分?使用rails 3邮件
在实际的电子邮件有一个从外地这样的:
<From: rogger rabbit <[email protected]>>
如果我做mail.from.first
我得到[email protected]
一部分但它是如何获取名称位IE。野兔子?
非常感谢 里克
如何使用新的rails 3邮件从电子邮件的前面字段获取名称部分?使用rails 3邮件
在实际的电子邮件有一个从外地这样的:
<From: rogger rabbit <[email protected]>>
如果我做mail.from.first
我得到[email protected]
一部分但它是如何获取名称位IE。野兔子?
非常感谢 里克
看着邮件2.2.17/lib目录/邮件/内容/ address.rb我发现这一点:
a = Address.new('Mikel Lindsaar (My email address) <[email protected]>')
a.format #=> 'Mikel Lindsaar <[email protected]> (My email address)'
a.address #=> '[email protected]'
a.display_name #=> 'Mikel Lindsaar'
a.local #=> 'mikel'
a.domain #=> 'test.lindsaar.net'
a.comments #=> ['My email address']
a.to_s #=> 'Mikel Lindsaar <[email protected]> (My email address)'
尝试使用类似mail [:from] .addrs.collect {| a | a.display_name}
整个上午都撕裂了我的头发后,我终于得到这个一起工作:
message[:from].display_names.first
当“消息”是,你可能会遍历通过邮件对象。
注意:如果发件人没有显示名称,则这将为零。
非常感谢这解决了它 – rick 2011-05-10 12:01:55