如何通过Net::IMAP
在Rails中获取电子邮件(不是电子邮件地址)的发件人姓名?
以下是我在Rails中用来获取发件人电子邮件的代码:
imap = Net::IMAP.new('imap.gmail.com', 993, usessl = true, certs = nil, verify = false)
imap.login(USERNAME, PASSWORD)
imap.select('Inbox')
imap.search(["ALL"]).each do |message_id|
emails = imap.fetch(message_id,'RFC822')[0].attr['RFC822']
mail = Mail.read_from_string emails
@email = Email.create(:sender => mail.from[0], :name => 'NAME_HERE')
end
imap.disconnect
mail.from[0]
正确获取电子邮件地址,但我如何获取发件人的姓名?
答案 0 :(得分:2)
目前的解决方案是使用mail[:from].display_names.first
。
您在:sender => mail.from[0]
旁边添加了以下内容:
:name => mail[:from].display_names.first