Google 의 Gmail API 를 활용하여 이메일을 보내는 방법을 정리해 보겠습니다. Mail API 사용을 위한 Google 앱 비밀번호 생성Django에서 이메일 보내기 그리고 회원가입 시 이메일 인증, SMTP 블로그 내용을 참고하였습니다.


Gmail API 로 이메일 보내기

Gmail 에서 앱 비밀번호 발급받기

Django 에서 필요한 정보는 2개로, 발신 이메일 주소앱 비밀번호 입니다. 여기서 생소한 것이 앱 비밀번호 인데 이것은 Gmail 에서 사용하는 비밀번호가 아니라, 마치 OpenAPI 서비스에서 secret key 와 유사한 역할을 담당하는 별개의 비밀번호 입니다.

계정에서 2단계 인증 을 활성화 합니다. 사용자 휴대폰 번호 및 기기를 연결하면 됩니다.

계정정보 > 보안 > 2단계 인증 > 앱 비밀번호 에서 활용할 앱 이름을 추가하면 비밀번호를 발급해 줍니다

2단계 인증 > 앱 비밀번호 발급

Django settings.py

Django 설정 파일에서 다음의 설정 내용을 추가 합니다.

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = "smtp.gmail.com"
EMAIL_PORT = 587
EMAIL_HOST_USER = '이메일을 보낼 G-mail 계정'
EMAIL_HOST_PASSWORD = 'Gmail 에서 설정한 앱 비밀번호'
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

이메일 보내기 테스트

django shell 을 통해서 이메일 보내기가 잘 동작하는지 확인 합니다.

from django.core.mail import EmailMessage
email = EmailMessage(
    'Title', #이메일 제목
    'Content', #내용
    to=['example@example.com'], #받는 이메일
)
email.send()