Rails3: ECONNREFUSED Ошибка в почтовой программе - PullRequest
0 голосов
/ 08 августа 2011

В приложении на 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. Почтовый сервер отказывает в соединении (в таком случае почему выясняется, что письмо было отправлено?) Или веб-сервер отказывается подключаться после отправки почты.

Что может заставить любой сервер отклонить соединение с этим конкретным пользователем?

Любая помощь будет высоко ценится. Все остальные пользователи приложения работают нормально.

1 Ответ

3 голосов
/ 09 августа 2011

Обычно это ошибка, вызванная неудачным подключением к SMTP-серверу.Я бы сказал, что дважды проверьте ваши настройки в ваших файлах среды (наиболее вероятно production.rb) и дважды проверьте адрес электронной почты.Вы также можете проверить, есть ли ограничение, установленное SMTP-сервером.

...