仅通过IMAP在rails应用程序中获取最近(最近)的邮件

时间:2016-08-30 07:12:42

标签: ruby-on-rails email imap gmail-imap

我正在尝试通过IMAP协议获取新的传入邮件..我的示例代码是 -

task :receive_mail_new => :environment do 
#require 'rubygems'
require 'net/imap'
imap = Net::IMAP.new('imap.gmail.com', 993, true,nil, false)
#imap.authenticate('LOGIN','debasish.industrify2016@gmail.com','****')
imap.login('test@example.com', '********')
imap.examine('INBOX')
imap.search(["RECENT"]).each do |id|
envelope = imap.fetch(id, "ENVELOPE")[0].attr["ENVELOPE"]
puts "#{envelope.from[0].name}: \t#{envelope.subject}"
end
imap.logout()
imap.disconnect()
end

问题在于

 imap.search(["RECENT"]).each do |id| 

此行未执行...我如何才能获取最近的邮件?可以帮助我

1 个答案:

答案 0 :(得分:0)

猜测,RECENT并不代表您的想法,请尝试使用UNSEENRECENT表示"在您之前,没有人有机会看到此消息的主题。