在哪里可以找到SMTP服务器的配置?
**************/usr/lib/ruby/1.8/net/smtp.rb:551:in `initialize': No
route to host - connect(2) (Errno::EHOSTUNREACH)
from
/usr/lib/ruby/1.8/net/smtp.rb:551:in `open'
from
/usr/lib/ruby/1.8/net/smtp.rb:551:in `do_start'
from
/usr/lib/ruby/1.8/timeout.rb:67:in `timeout'
from
/usr/lib/ruby/1.8/timeout.rb:101:in `timeout'
from
/usr/lib/ruby/1.8/net/smtp.rb:551:in `do_start'
from
/usr/lib/ruby/1.8/net/smtp.rb:525:in `start'
from
/usr/lib/ruby/gems/1.8/gems/mail-2.5.4/lib/mail/network/delivery_methods/smtp.rb:112:in
`deliver!'
from
/usr/lib/ruby/gems/1.8/gems/mail-2.5.4/lib/mail/message.rb:248:in
`deliver!'
答案 0 :(得分:0)
错误Errno::EHOSTUNREACH: No route to host - connect(2)
表示路由问题,可能与错误的IP地址有关。您可能在/etc/hosts
(将hosts file将主机名映射到IP地址)或其他地方指定了错误的IP,例如在config / deploy.rb等中。如果您使用本地网络DHCP服务器,IP地址可以经常更改。
begin
# problematic code
rescue Errno::EHOSTUNREACH
# log the error
# let the User know
rescue
# handle other exceptions
end
答案 1 :(得分:0)
您似乎正在使用Ruby“Mail”库:http://rubygems.org/gems/mail
从我阅读的文档中,没有配置文件。相反,库(可选)在Ruby代码中配置。
如果您不进行任何配置,则库默认使用正在侦听“localhost”端口25的邮件服务器。在这种情况下,“EHOSTUNREACH:无主机路由”错误很可能意味着:< / p>
您的计算机有“localhost”的错误“主机”条目,或
未正确配置本地主机IP设备。
无论哪种方式,系统管理问题都不是编程问题。对于SO来说这是偏离主题的...而且你还没有提供足够的信息来帮助我们诊断/解决它。
否则,您的代码将包含以下内容:
Mail.defaults do
delivery_method :smtp, { :address => "smtp.me.com",
:port => 587,
:domain => 'your.host.name',
:user_name => '<username>',
:password => '<password>',
:authentication => 'plain',
:enable_starttls_auto => true }
end
问题是“:address”条目指向您无法与之交谈的服务器。如果条目中包含错误的值,请进行修复。否则,这是系统(或网络)管理问题,而不是编程问题。