目次
SMTPの場合
settings.pyに以下を追記。
# For e-mail
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.mailserver.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'administrator'
EMAIL_HOST_PASSWORD = 'password'
- EMAIL_HOST_USERとEMAIL_HOST_PASSWORDはベタ書きするとgit pushした時にセキュリティインシデントとなるため注意
- DBに格納するか、OSの環境変数ファイルに書くことをオススメ
以下はDjango起動時の環境変数ファイルに書く例
import os
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = os.environ.get('EMAIL_HOST', 'localhost')
EMAIL_PORT = os.environ.get('EMAIL_PORT', '587')
EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER', 'administrator')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD', 'password')
Consoleの場合
cosoleモードはメールを送らず、コンソールに表示してくれる設定。
settings.pyに以下を追記。
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
メールの送信
from django.core.mail import send_mail
subject = "メール題名"
message = "これはテストメールですl"
from_email = "noreply@sample.com"
recipient_list = [
"sample@example.com"
]
send_mail(subject, message, from_email, recipient_list)