장고(Django) 핥짝 맛보기 - 이메일 인증을 참고
django.core.mail

django.core.mail 모듈로 이메일 발송

# conf/settings.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = '아이디@gmail.com'
EMAIL_HOST_PASSWORD = '비밀번호'
EMAIL_USE_TLS = True
  • User 모델에 이메일 발송 메소드를 작성한다.
# user/models.py
from django.core.mail import send_mail
from conf import settings

class User(AbstractBaseUser, PermissionsMixin):
    ...

    def email_user(self, subject, message, html_message):
        return send_mail(
            subject=subject,
            message=message,
            from_email=settings.EMAIL_HOST_USER,
            recipient_list=[self.email],
            html_message=html_message)
  • 파이썬 쉘에서 이메일 발송 테스트를 해보자.
from user.models import User

user = User.objects.get(pk=1)
user.send_mail('제목', '내용', 'html 내용')