実現したいこと
ここに実現したいことを箇条書きで書いてください。
- flask-emailを動作するようにする
前提
『Python FlaskによるWebアプリ開発入門』を読み進めています。
問い合わせフォームを送信したら、問い合わせした人にメールが送られるようにしようとしています。(本書p74)。しかし、問い合わせを送信したら、下記のエラーが出ます。
解消法が分かる方はいらっしゃいますでしょうか?><
発生している問題・エラーメッセージ
SMTPAuthenticationError smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials b3-20020a63cf43000000b0056c2f1a2f6bsm978900pgj.41 - gsmtp')
該当のソースコード
環境変数の設定(.envファイル)
FLASK_APP=apps.minimalapp.app.py FLASK_DEBUG=1 MAIL_SERVER=smtp.gmail.com MAIL_PORT=587 MAIL_USE_TLS=True MAIL_USERNAME=[mymail@gmail.com] MAIL_PASSWORD=[xxxx xxxx xxxx xxxx] MAIL_DEFAULT_SENDER=Flaskbook <mymail@gmail.com>
調査したこと・試したこと
ChatGPTでエラー文を検索。以下の回答を得たので全て確認したが、実施済み。
Gmailのセキュリティ設定: Gmailはセキュリティのために「安全性の低いアプリのアクセス」をデフォルトで無効にしています。アプリがGmailアカウントにアクセスするためには、セキュリティ設定で「安全性の低いアプリのアクセス」を有効にする必要があります。以下のリンクにアクセスして設定を変更してください:Google アカウント セキュリティページ 2段階認証を有効にしている場合: Gmailアカウントで2段階認証が有効になっている場合、アプリパスワードを生成して使用する必要があります。アプリパスワードは通常のパスワードとは異なり、アプリケーション専用のパスワードです。Googleのアカウント設定からアプリパスワードを生成し、それを MAIL_PASSWORD 環境変数に設定してください。 ユーザー名とパスワード: MAIL_USERNAME と MAIL_PASSWORD 環境変数に正確な Gmail アカウントのユーザー名とパスワードが設定されていることを確認してください。タイポや不正確な情報が含まれていないか確認しましょう。 アプリパスワードの再生成: 2段階認証が有効でない場合でも、アプリパスワードの生成や再生成を試みることができます。Googleアカウントのセキュリティ設定からアプリパスワードの生成手順を再確認し、新しいアプリパスワードを生成してみてください。 これらの手順を確認し、問題が解決しない場合、Gmailのセキュリティポリシーに関連する問題が考えられます。その場合、Googleサポートに問い合わせて詳細なサポートを受けることを検討してください。
補足情報
Googleからの情報だと、
アカウントを安全に保つため、2022 年 5 月 30 日より、Google は、ユーザー名とパスワードのみで Google アカウントにログインするサードパーティ製のアプリとデバイスについてサポートを終了いたします。
というのも見つけたので、これが影響しているのか?とも思うのですが、だとしたら、どのようにすれば良いのか分かりません。
回答1件
あなたの回答
tips
プレビュー