使用轨道 3 邮件



如何使用新的 rails 3 邮件从电子邮件的正面字段获取名称部分?

在实际的电子邮件中,有一个像这样的发件人字段:

<From: rogger rabbit <roggerrabbit@hotmail.com>>

如果我这样做mail.from.first我会得到roggerrabbit@hotmail.com部分,但它如何得到名字,即罗杰兔?

多谢瑞克

查看mail-2.2.17/lib/mail/elements/address.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}

您可能想尝试decoded方法:

mail.from.first.decoded

在扯了一整个早上的头发之后,我终于得到了这个工作:

message[:from].display_names.first

其中"message"是您可能正在迭代的邮件对象。

注意:如果发件人没有显示名称,则此名称将为 nil。

相关内容

  • 没有找到相关文章

最新更新