2011-08-08 84 views
0

我在Rails 3應用程序中有一個控制器,在創建一個WorkRequest類型的新對象後,向請求者發送一封電子郵件。適用於除我之外的所有用戶。當她嘗試它時,我在服務器日誌中得到以下內容。在郵件程序中Rails3:ECONNREFUSED錯誤

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 [email protected] (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服務器。

什麼可能導致服務器拒絕與此特定用戶的連接?

任何幫助將不勝感激。該應用程序的所有其他用戶似乎工作正常。

回答

3

這通常是由於到SMTP服務器的連接失敗而導致的錯誤。我會說你的環境文件(production.rb最有可能)再次檢查你的設置,並仔細檢查電子郵件地址。您也可以檢查是否有由SMTP服務器設置的限制。

+0

感謝您的迴應,dogenpunk!我會看你的建議並回來。 –

+0

你使用的是sendmail還是SMTP?如果是SMTP,您使用的是Gmail嗎?我知道Gmail對您可以發送的郵件數量有一些限制。另外,您應該在您的郵件配置中擁有一些憑據,以便您的應用程序用於向您的SMTP服務器進行身份驗證。 work_request_init_email方法中的代碼是什麼? – dogenpunk

+0

我正在使用本公司內部的SMTP電子郵件服務器。而電子郵件的數量非常低。應用程序中只有少數用戶,並且僅當創建一個特定記錄WorkRequest時纔會創建電子郵件。 –