如何使用新的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