连接被拒绝 - "localhost" 端口 25 的连接(2) chef devops

Connection refused - connect(2) for "localhost" port 25 chef devops

我正在做 chef(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,其他一些选项我一直保持不变 error.There Whosebug 上的一些帖子已经提供了一些解决方案,但他们都在谈论一些不存在的其他 .rb 文件在我的开发环境中。

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

您需要有一个实际的 SMTP 服务器在本地主机上侦听,我猜您没有。没有更多信息,但很难说。如果您不想 运行 您自己的中继服务器,您可以在整个互联网上找到有关通过 GMail、Amazon SES、Sparkpost、Sendgrid 等设置出站 SMTP 的说明。