[Django]Gmail のメールアドレスからメールを送信できるようにする

Django Logo ソフトウェア開発

settings.py の「 ADMINS 」へエラー時のメールを送る際に「 Gmail 」のメールアドレスからにメールを送る必要があったので、 DjangoGmail のメールアドレスからメールを送信する際の設定をまとめておきます。

前提条件

  • 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 に設定する

  1. Chrome で Gmail にログインします。
  2. 自分のアイコンをクリックして「 Google アカウントの管理」をクリックします。
  3. 画面左側のメニューから「セキュリティ」を選択します。
  4. 「 Google へのログイン」の「2段階認証プロセス」を画面の指示に従い有効にします。
  5. セキュリティのページの「 Google へのログイン」の「アプリ パスワード」を選択します。
  6. 「デバイスを選択」から「その他」を選択して名前を入力します。
  7. 「生成」ボタンをクリックすると「お使いのデバイスのアプリ パスワード」が生成されるのでそのパスワードをメモしておきます。

E メール設定

setting.py に下記の設定を追加します。

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'パスワード生成時に使用したGmailのメールアドレス'
EMAIL_HOST_PASSWORD = 'Googleで生成したパスワード'
EMAIL_USE_TLS = True

これで、 DjangoDebug=False の時にエラーが発生したら「 ADMINS 」宛に Gmail でメールが送信されるようになりました!!

最後に

Gmail を利用して Django でメールを送るには Gmail 側のセキュリティの設定をしないといけないので、単純に Django で設定すれば良いというわけではなかったので、設定完了まで少し時間がかかってしまいました。これからもこの設定はよく使うと思うので、設定方法をしっかりおさえておきたいですね。

コメント

モバイルバージョンを終了
タイトルとURLをコピーしました