본문 바로가기
웹 개발 이야기/django

[django] Google Mail 보내기

by Gommin 2023. 5. 9.

코드를 작성하기 전, 구글 계정 설정을 해야한다.
// Google Account 의 '보안' 으로 이동한다.
// 2단계 보안 설정 후, 앱 비밀번호를 생성한다.

settings.py

# send email
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.googlemail.com'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST_USER = 'GOOGLE_FULL_ID'
EMAIL_HOST_PASSWORD = 'APP_PASSWORD'

views.py

from django.core.mail import send_mail

def sendmail():

    # subject: 메일의 제목
    # message: 메일 내용
    # email_from: 메일을 발송하는 사람(저는 email_from = settings.EMAIL_HOST_USER 코드를 사용합니다.)
    # recipient_list: 받는 사람 리스트. 메일 주소의 문자열 리스트([email, ])
    # html_message: HTML 문자열 (실제 내용)
    # 'fail_silently' 인수는 오류가 예외를 발생시킬지 또는 조용히 무시

    subject = 'Hello from Django!'
    message = 'This is a test email sent from Django.'
    sender = settings.EMAIL_HOST_USER
    
    recipient_list = ['nappeni@daum.net', 'woaksdl14@naver.com']

    result = send_mail(
        subject,
        message,
        sender,
        recipient_list,
        fail_silently=False,
        html_message='<p>Here is the message in HTML.</p>'
    )

    print(result)
    return result

 

댓글