Net-smtp timeout error


#1

Hi,

Ruby 1.8.6-p114
RHEL 3

I’ve got two RHEL3 boxes, alpha and beta. On the alpha box, the
following script works fine. On the beta box I get a timeout error
with the same script. What’s happening?

require ‘net/smtp’

host = ‘mailhost.foo.com
port = 25
to = ‘removed_email_address@domain.invalid’
from = ‘removed_email_address@domain.invalid’
subject = ‘test’
body = ‘hello world’

Net::SMTP.start(host, port, host){ |smtp|
smtp.open_message_stream(from, to){ |stream|
stream.puts “From: #{from}”
stream.puts "To: " + to.to_a.join(’, ')
stream.puts “Subject: #{subject}”
stream.puts
stream.puts body
}
}

Result:

/usr/local/lib/ruby/1.8/timeout.rb:54:in new': execution expired (Timeout::Error) from /usr/local/lib/ruby/1.8/net/protocol.rb:206:inold_open’
from /usr/local/lib/ruby/1.8/timeout.rb:56:in timeout' from /usr/local/lib/ruby/1.8/timeout.rb:76:intimeout’
from /usr/local/lib/ruby/1.8/net/protocol.rb:206:in old_open' from /usr/local/lib/ruby/1.8/net/smtp.rb:393:indo_start’
from /usr/local/lib/ruby/1.8/net/smtp.rb:378:in start' from /usr/local/lib/ruby/1.8/net/smtp.rb:316:instart’
from smtp_test.rb:12

I did validate that the /etc/resolv.conf and /etc/protocols files were
the same on both boxes.

This some sort of sendmail config issue? If so, any ideas what it
might be?

Regards,

Dan


#2

Thibault wrote:

telnet mailhost.foo.com 25

This some sort of sendmail config issue? If so, any ideas what it
might be?

I don’t think so, since you are using SMTP you’re bypassing your local
MTA.

It turns out there was a bad, hard coded mailhost value in the
/etc/hosts file on the beta box. Odd.

Anyway, thanks for the reply and the suggestions.

Regards,

Dan


#3

Hello,

On Mon, 26 Jan 2009 11:25:14 -0500, Daniel B. wrote:

I’ve got two RHEL3 boxes, alpha and beta. On the alpha box, the
following script works fine. On the beta box I get a timeout error
with the same script. What’s happening?

I think you did a check without your script like :

nc mailhost.foo.com 25
telnet mailhost.foo.com 25

If not I suggest you do so in order to check if your problem really
comes from your script, or from a firewall, routing issue…

I did validate that the /etc/resolv.conf and /etc/protocols files were
the same on both boxes.

Maybe you could also check with tcpdump to see if packets are
sent/received as attended.

This some sort of sendmail config issue? If so, any ideas what it
might be?

I don’t think so, since you are using SMTP you’re bypassing your local
MTA.