使用Ruby on Rails获取电子邮件

我需要使用RoR从我的Gmail帐户中获取电子邮件。

require 'net/pop' Net::POP3.start('pop.gmail.com', 995, username, password) do |pop| if pop.mails.empty? puts 'No mail.' else #pop.each_mail do |mail| #p mail.header #p mail.pop puts "Mails present" #end end end 

我收到超时错误。

 usr/lib/ruby/1.8/timeout.rb:60:in `new': execution expired (Timeout::Error) from /usr/lib/ruby/1.8/net/protocol.rb:206:in `old_open' from /usr/lib/ruby/1.8/net/protocol.rb:206:in `old_open' from /usr/lib/ruby/1.8/net/pop.rb:438:in `do_start' from /usr/lib/ruby/1.8/net/pop.rb:432:in `start' from script/mail.rb:4 

我该如何解决这个问题?

您需要使用SSL

试试这个:

 require 'net/pop' Net::POP3.enable_ssl(OpenSSL::SSL::VERIFY_NONE) Net::POP3.start('pop.gmail.com', 995, username, password) do |pop| if pop.mails.empty? puts 'No mails.' else pop.each_mail do |mail| p mail.header p mail.pop end end end 
Interesting Posts