У меня есть живое приложение (livebytransit.com), и я недавно переключился на собственный домен вместо простой переадресации с маскировкой. Домен с Годадди. Все выглядит хорошо, кроме моих почтовиков больше не работает!
Вот ошибка из логов героки:
2012-01-03T22:36:17+00:00 app[web.1]: Rendered showing_mailer/showing_request.html.erb (0.5ms)
2012-01-03T22:36:17+00:00 app[web.1]:
2012-01-03T22:36:17+00:00 app[web.1]: Sent mail to info@livebytransit.com (213ms)
2012-01-03T22:36:17+00:00 app[web.1]: Completed 500 Internal Server Error in 242ms
2012-01-03T22:36:17+00:00 app[web.1]: EOFError (end of file reached):
2012-01-03T22:36:17+00:00 app[web.1]: app/controllers/showings_controller.rb:12:in `create'
Из моего конфигурационного файла production.rb:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
Initializer:
ActionMailer::Base.smtp_settings = {
:address => "smtpout.secureserver.net",
:port => 25,
:user_name => "username",
:password => "password",
:authentication => :login
}
Mailer:
class InviteeMailer < ActionMailer::Base
default from: "admin@livebytransit.com"
def send_invite(invitee)
@invitee = invitee
mail(:to => @invitee.email, :subject => "You have been Invited")
end
end
Наконец, контроллер:
def create
@invitee = Invitee.new
@invitee.email = (params[:email])
@invitee.user_id = session[:user_id]
@invitee.save
InviteeMailer.send_invite(@invitee).deliver
redirect_to user_url(session[:user_id]), :notice => "Invitation Sent, thank you!"
end
Приглашенный сохраняется, но почта не отправляется из-за EOFError. Это пахнет как проблема конфигурации, но я не могу понять это, любые мысли будут оценены по достоинству! Опять же, почтовик работал нормально, пока я не переключился на пользовательский домен.