2016-10-13 4 views
1

У меня возникли проблемы с работой Devise после обновления с Rails 4.2 до 5. Запуск на Rails 4 все работало как шарм, но после обновления ничего не было отправлено в процессе разработки и производства. Первоначально я оставил все настройки такими, какие они были - когда-то я знал о проблеме, я сделал несколько изменений, и это то, что у меня есть на данный момент (обратите внимание, что я заново запустил установщик разработки в какой-то момент, который заменил инициализатор/devise.rb)Утилита не отправлять электронные письма после обновления до Rails 5

development.rb

Rails.application.configure do 
    .. 
    config.action_mailer.raise_delivery_errors = true 
    config.action_mailer.delivery_method = :smtp 
    config.action_mailer.perform_deliveries = true 
    config.action_mailer.default :charset => "utf-8" 
    config.action_mailer.perform_caching = false 
    config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } 
end 

инициализаторы/devise.rb

# ==> Mailer Configuration 
    # Configure the e-mail address which will be shown in Devise::Mailer, 
    # note that it will be overwritten if you use your own mailer class 
    # with default "from" parameter. 
    config.mailer_sender = '[email protected]' 

    # Configure the class responsible to send e-mails. 
    config.mailer = 'Devise::Mailer' 

    # Configure the parent class responsible to send e-mails. 
    config.parent_mailer = 'ActionMailer::Base' 

Я также следовали инструкциям, выданные по завещанию (т.е. расширение маршрутов и т.д.)

Объект, который был добавлен только специальность, что я использую Активную Работу для доставки сообщений ActionMailer и поэтому добавил это мою модель пользователя, чтобы переопределить send_devise_notification:

def send_devise_notification(notification, *args) 
    devise_mailer.send(notification, self, *args).deliver_later 
end 

Глядя на выходе консоли он ни в коем случае не указывает, что devise/mailer/confirm_instructions.html.haml всегда отображается.

DEBUG: Chewy strategies stack: [2] -> atomic @ /Users/georg/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/chewy-0.8.4/lib/chewy/railtie.rb:17 
Started POST "/en/users" for ::1 at 2016-10-13 14:05:41 +0200 
DEBUG: Chewy strategies stack: [2] <- atomic @ /Users/georg/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/chewy-0.8.4/lib/chewy/railtie.rb:17 
Processing by RegistrationsController#create as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"CZ0wqg4a/atdIYfZ/QOj3b/UsTl0oqkBrcZjS9ZF6vaJi4JSD3nO2EGcCVVaM+5QYTM7+Iw40q+zkxAWSDVj9A==", "user"=>{"country"=>"AF", "email"=>"[email protected]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "tcagree"=>"1"}, "g-recaptcha-response"=>"", "commit"=>"Sign up for free!", "locale"=>"en"} 
    (0.3ms) BEGIN 
    User Exists (0.9ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = $1 LIMIT $2 [["email", "[email protected]"], ["LIMIT", 1]] 
    SQL (13.4ms) INSERT INTO "users" ("email", "encrypted_password", "confirmation_token", "confirmation_sent_at", "created_at", "updated_at", "roles_mask", "country") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id" [["email", "[email protected]"], ["encrypted_password", "$2a$11$BzxtTw3PwaH06K6tpNlXHOtv.7sxgmVGhZyouIMzDfXP.cxnF2YGy"], ["confirmation_token", "Q-k8t3k-AmAoQoxggdcW"], ["confirmation_sent_at", 2016-10-13 12:05:42 UTC], ["created_at", 2016-10-13 12:05:42 UTC], ["updated_at", 2016-10-13 12:05:42 UTC], ["roles_mask", 64], ["country", "AF"]] 
    SQL (0.7ms) UPDATE "users" SET "id" = $1, "encrypted_password" = $2, "confirmation_token" = $3, "confirmation_sent_at" = $4, "created_at" = $5, "updated_at" = $6, "username" = $7, "roles_mask" = $8, "unconfirmed_email" = $9, "country" = $10 WHERE "users"."id" = $11 [["id", 16], ["encrypted_password", "$2a$11$BzxtTw3PwaH06K6tpNlXHOtv.7sxgmVGhZyouIMzDfXP.cxnF2YGy"], ["confirmation_token", "G3VSGdh-Q2C3sg1mxevB"], ["confirmation_sent_at", 2016-10-13 12:05:42 UTC], ["created_at", 2016-10-13 12:05:42 UTC], ["updated_at", 2016-10-13 12:05:42 UTC], ["username", "user-3aff9416"], ["roles_mask", 64], ["unconfirmed_email", "[email protected]"], ["country", "AF"], ["id", 16]] 
    (3.5ms) COMMIT 
Redirected to http://localhost:3000/ 
Completed 302 Found in 377ms (ActiveRecord: 18.8ms) 


DEBUG: Chewy strategies stack: [2] -> atomic @ /Users/georg/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/chewy-0.8.4/lib/chewy/railtie.rb:17 
Started GET "/" for ::1 at 2016-10-13 14:05:42 +0200 
DEBUG: Chewy strategies stack: [2] <- atomic @ /Users/georg/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/chewy-0.8.4/lib/chewy/railtie.rb:17 
Processing by StaticPagesController#redirect as HTML 
Redirected to http://localhost:3000/en 
Filter chain halted as :set_locale rendered or redirected 
Completed 302 Found in 14ms (ActiveRecord: 0.0ms) 


DEBUG: Chewy strategies stack: [2] -> atomic @ /Users/georg/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/chewy-0.8.4/lib/chewy/railtie.rb:17 
Started GET "/en" for ::1 at 2016-10-13 14:05:42 +0200 
DEBUG: Chewy strategies stack: [2] <- atomic @ /Users/georg/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/chewy-0.8.4/lib/chewy/railtie.rb:17 
Processing by StaticPagesController#welcome as HTML 
    Parameters: {"locale"=>"en"} 
    Rendering static_pages/welcome.html.haml within layouts/home 
    Rendered shared/_fb_image.html.haml (2.3ms) 
    Rendered static_pages/welcome.html.haml within layouts/home (13.4ms) 
    Rendered layouts/navs/_standard.html.haml (6.8ms) 
    Rendered layouts/_flashes.html.haml (3.0ms) 
    Rendered layouts/general/_shim.html.erb (0.9ms) 
    Rendered layouts/scripts/_google_analytics.html.haml (1.8ms) 
    Rendered layouts/_navbar.html.haml (2.6ms) 
    Rendered cookies_eu/_consent_banner.html.haml (1.8ms) 
    Rendered layouts/_footer.html.haml (2.8ms) 
    Rendered layouts/_base.html.haml (557.4ms) 
Completed 200 OK in 606ms (Views: 601.2ms | ActiveRecord: 0.0ms) 


DEBUG: Chewy strategies stack: [2] -> atomic @ /Users/georg/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/chewy-0.8.4/lib/chewy/railtie.rb:17 

Любой вход будет высоко оценен

забыл упомянуть текущие версии я бегу на: Придумайте - 4.2.0, Рубин - рубин 2.2.4p230 (2015-12-16 ревизия 53155) [x86_64 -darwin15], Rails - Rails 5.0.0

+0

Я недавно столкнулся с той же проблемой, пока не понял, что уже подписан. В этом случае разработчик не отправил электронную почту. Не могли бы вы проверить, не вошли ли вы в аккаунт? Что на самом деле означает, что пользователь уже подтвердил – ck3g

+0

Привет, спасибо за вклад - но это, к сожалению, не проблема. –

ответ

0

Поскольку я не смог заставить его работать - даже после удаления всех настроек и установки устройства с нуля я решил написать свои почтовые программы, которые запускаются при регистрации, сбросе пароля, и приглашения - это было более эффективно. Если кто-нибудь когда-нибудь столкнется с этой проблемой и выяснит более простое и стандартизованное решение - напишите!

Смежные вопросы