settings.py
の「 ADMINS
」へエラー時のメールを送る際に「 Gmail
」のメールアドレスからにメールを送る必要があったので、 Django
で Gmail
のメールアドレスからメールを送信する際の設定をまとめておきます。
前提条件
- Python : 3.9.1
- Django : 3.2.3
ADMINS の設定
settings.py
の「 ADMINS
」を設定します。ここに記載されているメールアドレスに Django
のエラー情報が送信されます。
ADMINS = [('メールを受け取る人の名前', 'mail@mail.com')]
SERVER_EMAIL (送信元アドレスの設定)
settings.py
に送信元アドレス「 SERVER_EMAIL
」を設定します。
SERVER_EMAIL = 'mail@mail.com'
Gmail を使ってメールが送れるように Gmail に設定する
- Chrome で Gmail にログインします。
- 自分のアイコンをクリックして「 Google アカウントの管理」をクリックします。
- 画面左側のメニューから「セキュリティ」を選択します。
- 「 Google へのログイン」の「2段階認証プロセス」を画面の指示に従い有効にします。
- セキュリティのページの「 Google へのログイン」の「アプリ パスワード」を選択します。
- 「デバイスを選択」から「その他」を選択して名前を入力します。
- 「生成」ボタンをクリックすると「お使いのデバイスのアプリ パスワード」が生成されるのでそのパスワードをメモしておきます。
E メール設定
setting.py
に下記の設定を追加します。
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'パスワード生成時に使用したGmailのメールアドレス'
EMAIL_HOST_PASSWORD = 'Googleで生成したパスワード'
EMAIL_USE_TLS = True
これで、 Django
で Debug=False
の時にエラーが発生したら「 ADMINS
」宛に Gmail でメールが送信されるようになりました!!
最後に
Gmail
を利用して Django
でメールを送るには Gmail
側のセキュリティの設定をしないといけないので、単純に Django
で設定すれば良いというわけではなかったので、設定完了まで少し時間がかかってしまいました。これからもこの設定はよく使うと思うので、設定方法をしっかりおさえておきたいですね。
コメント