我在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服务器。
什么可能导致服务器拒绝与此特定用户的连接?
非常感谢任何帮助。该应用程序的所有其他用户似乎都工作正常。
答案 0 :(得分:3)
这通常是由连接到SMTP服务器失败引起的错误。我要说再检查环境文件中的设置(很可能是production.rb)并仔细检查电子邮件地址。您还可以检查SMTP服务器是否设置了限制。