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
で設定すれば良いというわけではなかったので、設定完了まで少し時間がかかってしまいました。これからもこの設定はよく使うと思うので、設定方法をしっかりおさえておきたいですね。