2012-01-03 3 views
0

У меня есть живое приложение (livebytransit.com), и я недавно переключился на собственный домен вместо простой пересылки с помощью клоакинга. Домен с Годадди. Все выглядит хорошо, за исключением того, что мои почтовые программы больше не работают!Heroku Mailer неожиданно не работает после перехода на пользовательский домен

Здесь ошибка из бревен Heroku:

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 [email protected] (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: "[email protected]" 

    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. Это пахнет проблемой конфигурации для меня, но я не могу понять это, любые мысли будут оценены очень высоко! Опять же, почтовая программа работала нормально, пока я не перешел на пользовательский домен.

ответ

0

Служба поддержки heroku предложила добавить sendgrid. Поэтому я добавил sendgrid, то ошибка изменен следующим образом:

Net::SMTPFatalError (553 Sorry, your envelope sender is in my badmailfrom list 

Эта ошибка побудило меня создать адрес электронной почты для по умолчанию «от» адреса, как показано на Мейлер.

Проблема решена.

Я не уверен, почему электронные письма доставлялись, когда приложение было развернуто по умолчанию myapp.herokuapp.com. Проблема возникла только после перехода на мой пользовательский домен.

+0

Ошибка вернулась, и на этот раз я переконфигурировал sendgrid, используя этот вопрос: http://stackoverflow.com/questions/8782274/sendgrid-email-sending-issues-in-ruby-on-rails-hosted-on- Heroku. Работает как шарм. – tbone