railsでdeviseを使ってログイン時にメールで認証する機能を有効にしたいと
gmail側でアプリパスワードを設定した上でconfig/environment/development.rb
に
config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :domain => "smtp.gmail.com", :user_name => '[myaccount@gmail.com]', :password => '[app_password]', :enable_starttls_auto => true, :authentication => "plain", }
として実行しましたらエラーが出ました。
error
1Net::SMTPAuthenticationError in Devise::RegistrationsController#create 2534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbth
コンソールで確認すると、:password
が違うことなのですが、何度アプリパスワード生成してコピペしてみても変化がありません(下記です)。
対策として、
- gmail側で2段階認証をオフにして只のgmailパスワードに書き換えてみました。
=>google側でブロックされる(セキュリティ通知が届く、読み込みに来ていることはわかる)。
config/environment/development.rb
の記載部分をコメントアウトにして実行=> 変わらずNet::SMTPAuthenticationError in Devise::RegistrationsController#create534-5.7.14
のエラーです(これは不思議です、コメントアウトしているのでgmailの設定はなくなり、デフォルトのconfig.mailer = 'Devise::Mailer'
になり、gmail以外のアドレスにはメールが届くはずですが出来なくなっています)。
パスワード認証が出来ないだけのエラーなのですが、パスワードがアプリパスワードでも2段階認証を外した上で只のパスワードでもエラーが出てしまうのでどうにも手に負えなくなりました。
何か良い方法はありませんか?例えばコンソールのハッシュにある"password"=>"[FILTERED]"
を明示出来れば対策建てられるのですが・・・。
対策の手がかりをご助言いただければ嬉しいです。
console
1Processing by Devise::RegistrationsController#create as HTML 2 Parameters: {"utf8"=>"✓", "authenticity_token"=>"Lw4Fmm5EQacMTQ0VUhLVzyAsJ8zgGtWeFbCKqVlK5FGTnqkxRR8IK6LYfjV/PIiFEhUbb96/sxm0qk5dXoeg==", "user"=>{"email"=>"myaccount@hotmail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"} 3中略 4Net::SMTPAuthenticationError (534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbth 5): 6 /usr/local/rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/net/smtp.rb:977:in `check_auth_response' 7 /usr/local/rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/net/smtp.rb:741:in `auth_plain' 8 /usr/local/rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/net/smtp.rb:733:in `authenticate'
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。