2

如何在 Rails 中通过 获取电子邮件发件人的姓名(不是电子邮件地址)Net::IMAP

这是我在 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]但如何获取发件人姓名?

4

1 回答 1

2

当前的解决方案是使用mail[:from].display_names.first.

您将在 旁边添加以下内容:sender => mail.from[0]

:name => mail[:from].display_names.first

于 2013-02-06T11:45:18.050 回答