Rails3:邮件程序中的ECONNREFUSED错误

时间:2011-08-08 19:57:13

标签: ruby-on-rails-3 actionmailer

我在Rails 3应用程序中有一个控制器,在创建WorkRequest类型的新对象后,会向请求者发送一封电子邮件。适用于除我之外的所有用户。当她尝试它时,我在服务器日志中得到以下内容。

Started POST "/work_requests" for 172.16.42.150 at Mon Aug 08 14:42:53 -0400 2011
  Processing by WorkRequestsController#create as HTML
  Parameters: {"commit"=>" Save ", "authenticity_token"=>"GhhZ6S0mBaju2zs5Fc7M+u5SoLCke5CRSdVCvLzMK1Q=", "utf8"=>"✓", "work_request"=>{"work_due_date"=>"2011-12-01", "person_id"=>"525", "status"=>"Pending", "last_request_date"=>"", "requester_id"=>"5", "pier_module_id"=>"223"}}
Rendered person_mailer/work_request_init_email.html.erb (2.4ms)
Rendered person_mailer/work_request_init_email.text.erb (1.8ms)

Sent mail to hkitzmiller@acponline.org (409ms)
Completed   in 548ms

Errno::ECONNREFUSED (Connection refused - connect(2)):
  app/controllers/work_requests_controller.rb:57:in `create'
  app/controllers/work_requests_controller.rb:54:in `create'

它似乎已经发送了电子邮件(她已经离开了当天所以我不能问她是否收到了它),但它在控制器中失败的线路调用了邮件,所以我不是肯定的。

PersonMailer.work_request_init_email(@work_request).deliver

似乎无法找到有关ECONNREFUSED含义的任何可靠信息。邮件服务器是否拒绝连接(在这种情况下,为什么邮件会被发送?)或者是在发送邮件后拒绝连接的Web服务器。

什么可能导致服务器拒绝与此特定用户的连接?

非常感谢任何帮助。该应用程序的所有其他用户似乎都工作正常。

1 个答案:

答案 0 :(得分:3)

这通常是由连接到SMTP服务器失败引起的错误。我要说再检查环境文件中的设置(很可能是production.rb)并仔细检查电子邮件地址。您还可以检查SMTP服务器是否设置了限制。