如何使用新的Rails3邮件从电子邮件的前面字段中获取姓名部分?
在实际的电子邮件中有一个发件人字段,如下所示:
<From: rogger rabbit <roggerrabbit@hotmail.com>>如果我做mail.from.first,我会得到roggerrabbit@hotmail.com部分,但是它是如何获得名称位的呢?罗杰兔?
谢谢你,瑞克
发布于 2011-05-10 06:26:44
查看mail-2.2.17/lib/mail/element/address.rb s.rb,我发现了以下内容:
a = Address.new('Mikel Lindsaar (My email address) <mikel@test.lindsaar.net>')
a.format #=> 'Mikel Lindsaar <mikel@test.lindsaar.net> (My email address)'
a.address #=> 'mikel@test.lindsaar.net'
a.display_name #=> 'Mikel Lindsaar'
a.local #=> 'mikel'
a.domain #=> 'test.lindsaar.net'
a.comments #=> ['My email address']
a.to_s #=> 'Mikel Lindsaar <mikel@test.lindsaar.net> (My email address)'试试像mail:from.addrs.collect {|a| a.display_name}这样的东西
发布于 2011-05-10 05:08:00
您可能希望尝试decoded方法:
mail.from.first.decoded发布于 2012-06-14 02:23:50
在经历了整个上午的痛苦之后,我终于得到了这个工作:
message[:from].display_names.first其中"message“是您可能正在遍历的邮件对象。
注意:如果发送者没有显示名称,则显示名称将为空。
https://stackoverflow.com/questions/5940847
复制相似问题