连接被拒绝 - 连接(2)for" localhost"港口25厨师devops

时间:2017-10-30 05:25:19

标签: ruby-on-rails chef chef-recipe

我正在为大厨(devops)工作,我有一个帮助程序库,其中包含以下代码

require 'net/smtp'

module HandlerSendEmail
class Helper

def send_email_on_run_failure(node_name)

  message = "From: Chef <chef@chef.io>\n"
  message << "To: Grant <xyz@test.com>\n"
  message << "Subject: Chef run failed\n"
  message << "Date: #{Time.now.rfc2822}\n\n"
  message << "Chef run failed on #{node_name}\n"
  Net::SMTP.start('localhost', 25) do |smtp|
    smtp.send_message message, 'chef@chef.io', 'xyz@test.com'
  end
end

端 端

但是,当我运行食谱时,我得到了

Chef Client failed. 0 resources updated in 02 seconds
[2017-10-30T05:19:38+00:00] ERROR: Connection refused - connect(2) for "localhost" port 25
[2017-10-30T05:19:38+00:00] ERROR: Connection refused - connect(2) for "localhost" port 25

我尝试将端口更改为90以及其他一些选项我一直得到同样的错误。在stackoverflow上的几个帖子上已经有一些解决方案可用,但所有这些都在谈论我的开发环境中不存在的其他一些.rb文件

Connection refused - connect(2) Ruby on Rails Mail Setup  Errno::ECONNREFUSED: Connection refused - connect(2) for action mailer

1 个答案:

答案 0 :(得分:1)

你需要让一个实际的SMTP服务器在localhost上监听,我猜你没有。没有更多信息,但很难说。如果您不想运行自己的中继服务器,可以通过互联网查找有关通过GMail,Amazon SES,Sparkpost,Sendgrid设置出站SMTP的说明,还可以更多。