質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.41%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Q&A

解決済

1回答

296閲覧

flask-emailでメールが送信できない

yasuuu

総合スコア9

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

0グッド

0クリップ

投稿2023/11/03 09:48

編集2023/11/04 00:56

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  • 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 アカウントにログインするサードパーティ製のアプリとデバイスについてサポートを終了いたします。

というのも見つけたので、これが影響しているのか?とも思うのですが、だとしたら、どのようにすれば良いのか分かりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasuuu

2023/11/03 19:06

ありがとうございます。 アプリパスワードの設定はおこなったうえで、上記のエラーが出てしまうのです...
guest

回答1

0

自己解決

.envファイル内にて、下記のように右辺を' 'で囲む。

投稿2023/11/05 05:02

yasuuu

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.41%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問