Я пытаюсь настроить подтверждение по электронной почте для новых пользователей моего сайта на Heroku. Он отлично работает в разработке (отправляется с правильного адреса электронной почты, хотя я никогда не указывал его в development.rb)
Вот код в development.rb: (я использовал MailCatcher)
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { :host => 'localhost:3000'}
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {:address => "localhost", :port => 1025}
Вот код в production.rb:
config.action_mailer.default_url_options = {:host => 'myapp.herokuapp.com'}
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => 'myapp.herokuapp.com', #I've also tried changing this to 'gmail.com'
:authentication => :plain, # I've also tried changing this to :login
:enable_starttls_auto => true,
:user_name => '[email protected]',
:password => 'mypassword'
}
И вот последние несколько (из очень длинного списка) журналов Heroku, когда я набираю «журналы heroku» в командной строке:
2013-11-24T18:51:01.069086+00:00 app[web.1]: Rendered layouts/_header.html.erb
(1.4ms)
2013-11-24T18:50:57.403500+00:00 heroku[router]: at=info method=GET path=/users/
confirmation/new host=myapp.herokuapp.com fwd="118.22.125.86" dyno=we
b.1 connect=30ms service=18ms status=304 bytes=0
2013-11-24T18:50:32.655624+00:00 heroku[router]: at=info method=GET path=/users/
sign_up host=myapp.herokuapp.com fwd="118.22.125.86" dyno=web.1 conne
ct=25ms service=78ms status=304 bytes=0
На производственном сайте Heroku просто написано: «Извините, но что-то пошло не так». Электронное письмо никогда не отправляется. Учетная запись с указанным адресом электронной почты никогда не входит в базу данных.
Изменить: вот файлы журнала после того, как я добавил config.log_level = :debug
2013-11-24T20:35:31.602702+00:00 heroku[router]: at=info method=GET path=/favico
n.ico host=myapp.herokuapp.com fwd="118.22.125.86" dyno=web.1 connect
=2ms service=9ms status=304 bytes=0
2013-11-24T20:35:13.963743+00:00 heroku[router]: at=info method=GET path=/favico
n.ico host=myapp.herokuapp.com fwd="118.22.125.86" dyno=web.1 connect
=1ms service=447ms status=200 bytes=0
И еще один:
2013-11-24T20:38:32.693982+00:00 app[web.1]: vendor/bundle/ruby/2.0.0/gems/rac
k-1.4.5/lib/rack/handler/webrick.rb:59:in `service'
2013-11-24T20:38:32.694321+00:00 app[web.1]: vendor/ruby-2.0.0/lib/ruby/2.0.0/
webrick/server.rb:295:in `block in start_thread'
2013-11-24T20:38:32.693982+00:00 app[web.1]: vendor/bundle/ruby/2.0.0/gems/rac
k-cache-1.2/lib/rack/cache/context.rb:51:in `call'
2013-11-24T20:38:32.693982+00:00 app[web.1]: vendor/ruby-2.0.0/lib/ruby/2.0.0/
webrick/httpserver.rb:94:in `run'
2013-11-24T20:38:32.693982+00:00 app[web.1]: vendor/ruby-2.0.0/lib/ruby/2.0.0/
webrick/httpserver.rb:138:in `service'
Это только последние несколько журналов. Весь журнал слишком длинный, чтобы копировать его здесь. Я не уверен, что искать.