環境
- ruby 2.4.1
- mail 2.6.6
本題
Mail.findに引数が3つのブロックを渡す。
require 'mail' Mail.defaults { retriever_method( :imap, address: "", port: 143, user_name: "", password: "", ) } mail = nil uid = nil Mail.find(what: :last, count: 1) do |mail, imap, uid| mail = mail uid = uid end puts mail.class => Mail::Message puts uid => 1
ちなみにMail.findの引数にuidの指定もできる。
mails = Mail.find(uid: 1) puts mails[0].class => Mail::Message
ただし、どちらもドキュメントでの言及がないことに留意。