【Django】OAuth 2.0を使ってGmail送信
8/2追記:GCPの設定をしなくてもアプリパスワードからパスワードを生成したら出来るそうです。
[Django]Gmailのメールアドレスからメールを送信できるようにする | CodeLab
アプリ パスワードでログインする - Google アカウント ヘルプ
googleのセキュリティ強化によりユーザー名パスワードのみでログインするサードパーティアプリにアクセスできなくなりました。
Djangoではメールをグーグル以外にしたり回避方法がいくつかあるっぽいですが、推奨されているOAuth 2.0っていうのを使っていきます。
pip install django-gmailapi-backend
settings.py
INSTALLED_APPS = [ ... 'gmailapi_backend', ... ] EMAIL_BACKEND = 'gmailapi_backend.mail.GmailBackend' # のちに設定 GMAIL_API_CLIENT_ID = 'client_id' GMAIL_API_CLIENT_SECRET = 'client_secret' GMAIL_API_REFRESH_TOKEN = 'refresh_token'
クライアントID,シークレットキー,トークンが必要なのでGCPから色々設定する
OAuth 2.0 を使用してGoogle API にアクセスする方法
無事メール送信できました。
以上、お疲れ様でした。