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 に答える