I tried the using the following code to send mail:
require 'rubygems'
require 'net/smtp'
def send_email(from, from_alias, to, to_alias, subject, message)
msg = <<END_OF_MESSAGE
···
From: #{from_alias} <#{from}>
To: #{to_alias} <#{to}>
Subject: #{subject}
#{message}
END_OF_MESSAGE
Net::SMTP.start('localhost') do |smtp|
smtp.send_message msg, from, to
end
end
send_email('from@gmail.com', 'ayo', 'to@gmail.com', 'a', 'a', 'a')
and it worked perfectly,
but when I try this:
require 'rubygems'
require 'net/smtp'
def send_email(from, from_alias, to, to_alias, subject, message)
msg = <<END_OF_MESSAGE
From: #{from_alias} <#{from}>
To: #{to_alias} <#{to}>
Subject: #{subject}
#{message}
END_OF_MESSAGE
Net::SMTP.start('smtp.gmail.com', 587, 'smtp.gmail.com',
'from@gmail.com', 'password', :plain) do |smtp|
smtp.send_message msg, from, to
end
end
send_email('from@gmail.com', 'ayo', 'to@gmail.com', 'a', 'a', 'a')
I get the following exception:
Exception `Errno::EAGAIN' at
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/protocol.rb:135
- Resource temporarily unavailable - read would block
Exception `Timeout::Error' at
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/protocol.rb:140
- Timeout::Error
Exception `Timeout::Error' at
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/smtp.rb:948
- Timeout::Error
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/protocol.rb:140:in
`rescue in rbuf_fill': Timeout::Error (Timeout::Error)
from
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/protocol.rb:134:in
`rbuf_fill'
from
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/protocol.rb:116:in
`readuntil'
from
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/protocol.rb:126:in
`readline'
from
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/smtp.rb:935:in
`recv_response'
from
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/smtp.rb:558:in
`block in do_start'
from
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/smtp.rb:945:in
`critical'
from
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/smtp.rb:558:in
`do_start'
from
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/smtp.rb:525:in
`start'
from
/home/abejide/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/smtp.rb:463:in
`start'
from testmail.rb:14:in `send_email'
from testmail.rb:19:in `<main>'
I would not want to use gems.
Thanks
--
Posted via http://www.ruby-forum.com/.