Heroku Mailer неожиданно не работает после перехода на пользовательский домен - PullRequest
0 голосов
/ 04 января 2012

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

1 Ответ

0 голосов
/ 04 января 2012

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

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

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

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

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

...