困ったこと
RailsアプリでGmail送信が失敗するようになりました。
どうもGoogleアカウントのログインパスワードを変更したことが影響している模様。
以下のようなエラーが出ていました。
Net::SMTPAuthenticationError (535-5.7.8 Username and Password not accepted)
Net::SMTPAuthenticationError (534-5.7.9 Application-specific password required)
分析、整理
Net::SMTPAuthenticationError
はRubyのクラス。
https://docs.ruby-lang.org/ja/2.2.0/class/Net=3a=3aSMTPAuthenticationError.html
534-5.7.9 Application-specific password required
はどうやらGoogle関連のエラーの模様。アプリケーションのパスワードが必要だぞ。と言っている?
Googleのアプリパスワードとは2段階認証の一種の模様。
安全性が低いアプリがGoogleにログインするときに使用できるものなのかな。
https://support.google.com/accounts/answer/185833?hl=ja
Googleアカウントのログインパスワードを変更すると、設定していたアプリパスワードが削除される仕様みたいです。
アカウントを保護するため、Google アカウントのパスワードを変更するとアプリ パスワードが取り消されます。Google アカウントでアプリを引き続き使用するには、新しいアプリ パスワードを作成してください。
link
それで元々のアプリが「アプリパスワード必要だよ」と教えてくれていたとすると辻褄が合います。
そこでアプリパスワードを再設定しようとするが、ドキュメント通りに画面に行ってもない。
どこにも、ない。
あちこちの画面を隈なく探したけど、ない。
ドキュメントの嘘つき。
解決
こちらの記事の通り、ここにURLで飛んだら設定できました。。。
https://myaccount.google.com/apppasswords
この方法以外でどういう動線で、ここに辿り着けるのかわかりません。
このアプリパスワードが推奨されてないから、隠されているのか?
設定したら一度表示されて、またそのあと二度と表示されないので、しっかりメモしておく必要がありそうです。