DjangoでGmail送信機能実装
カテゴリ:Pythonの話
今回はGmailのsmtpを使用してメール送信機能を実装します。
環境
- Python 3.7.7
- Django 3.0.7
目次
Googleのアカウント設定
Googleでアカウントのセキュリティを設定する必要があります。
2段階認証を設定されてる方は解除しなくてはなりません。下記のリンクで解除を行ってください。
https://support.google.com/accounts/answer/185839?co=GENIE.Platform%3DDesktop&hl=ja
次にこちらからアプリのアクセスを許可にします。
Djangoのメール設定
ログイン機能はこちらの過去の記事からできます。
settings.pyにgmailのsmtpを使用する設定を書きます
urls.py
forms.py
views.py
テンプレートでメール本文作成
次はテンプレートでメールの内容を書いていきます。
まずはタイトル用のテンプレートです。
templates/registration/mail_template/password_reset/subject.txt
1 |
【重要】 サイト名 - パスワードリセットのご連絡 |
こちらは内容になります。
templates/registration/mail_template/password_reset/message.txt
中の変数の記述はDjango側で勝手に作ってくれるので、そのままの書き写しで問題ないです。
ユーザーに送信するメールアドレスのページです。ユーザーのデータがDBに入っていたら、そのユーザーにメールが届くようになります。こちらはお使いのログインページに応じて変更してみてください。
templates/registration/password_refresh.html
メール送信を表示するページです。
templates/registration/password_reset_finish.html
メールのurlから飛んで、パスワード再設定のページ。
templates/registration/password_reset_check.html
変更完了の表示ページ。
templates/registration/password_reset_result.html
以上でメール送信の記述は完了です。
おわりに
設定さえ上手くいけばメールの送信機能もDjangoが自動で行ってくれるので大変便利です。ログイン機能を作った際には是非とも活用してみてください。