Retrieve Gmail using Ruby

I need to retrieve emails from my Gmail account using Ruby on Rails. I'm
currently using this piece of code, but it gives me a timeout error
everytime.

require 'net/pop'

pop = Net::POP3.new 'mail.isp.com'
pop.start 'username@isp.com', 'password'

if pop.mails.empty?
   puts "No mail."
else
   puts "You have #{pop.mails.length} new messages."
   puts "Downloading..."

   pop.mails.each_with_index do|m,i|
   File.open( "inbox/#{i}", 'w+' ) do|f|
   f.write m.pop
end

   m.delete
end
end

This is the error I recieve

/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

Any help will be appreciated!

Have you tried

pop = Net::POP3.new 'pop.gmail.com'

Christophe

Christophe Decaux wrote:

Have you tried

pop = Net::POP3.new 'pop.gmail.com'

Christophe

Le 19 avr. 2010 � 12:48, Shreyas Satish a �crit :

Tried it.Ain't working.

Try SSL?

http://mail.google.com/support/bin/answer.py?hl=en&answer=13287

Larry

I’ve used Fetcher plugin for that. Worked for me

http://github.com/look/fetcher

=begin
Tested with ruby 1.8.7 on a Debian machine, with my own gmail account.
ruby -rubygems "from name" "from email" "to name" "to email" "subject"
"body"
=end
require 'net/smtp'
require 'tlsmail'

Net::SMTP.enable_tls OpenSSL::SSL::VERIFY_NONE

$SERVER = 'smtp.gmail.com'
$PORT = '587'
$DOMAIN = 'loclahost'#HELO domain
$USERNAME = 'username'
$PASSWORD = 'password'

from_name = ARGV[0]
from_email = ARGV[1]
to_name = ARGV[2]
to_email = ARGV[3]
subject = ARGV[4]
body = ARGV[5]

msg = <<EOF