[python] Django에서 신뢰할 수 있는 이메일 발송하기

Django로 웹 애플리케이션을 개발할 때, 사용자에게 이메일을 보내야 하는 경우가 있습니다. 이를 위해서는 안정적이고 신뢰할 수 있는 이메일 서비스를 사용해야 합니다. 이 포스트에서는 Django에서 이메일 발송을 구성하는 방법을 알아보겠습니다.

설정

우선, Django 세팅에 있는 EMAIL_BACKEND를 이메일 백엔드로 설정해야 합니다. Django는 이메일을 발송하는데 사용할 백엔드를 설정할 수 있도록 내장된 기능을 제공합니다. 대부분의 경우, SMTP 서비스를 사용하여 이메일을 발송하는 것이 일반적입니다.

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'your_email_host'
EMAIL_PORT = 'your_email_port'
EMAIL_HOST_USER = 'your_email_address'
EMAIL_HOST_PASSWORD = 'your_email_password'
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'your_default_email_address'

위의 설정에서:

이메일 호스트 및 계정 정보는 이메일 제공 업체로부터 제공받아야 합니다.

이메일 발송

이제 설정이 완료되었으므로, Django에서 이메일을 발송할 수 있습니다. 예를 들어, 회원가입 인증 이메일이나 비밀번호 재설정 링크를 포함한 이메일을 보낼 수 있습니다. 아래는 간단한 예제입니다.

from django.core.mail import send_mail

send_mail(
    'Subject',
    'Message',
    'from@example.com',
    ['to@example.com'],
    fail_silently=False,
)

위의 예제는 send_mail 함수를 사용하여 이메일을 발송하는 방법을 보여줍니다. 함수의 인자는 순서대로 제목, 메시지, 발신자 이메일 주소, 수신자 이메일 주소, 그리고 오류 발생 시 조용히 실패 여부를 나타내는 부울 값입니다.

이제 Django 애플리케이션에서 안정적이고 신뢰할 수 있는 방법으로 이메일을 발송하는 설정과 예제에 대해 알아보았습니다.

참고 자료