[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'
위의 설정에서:
EMAIL_BACKEND
: Django의 내장 SMTP 이메일 백엔드를 설정합니다.EMAIL_HOST
: 이메일 호스트의 주소를 입력합니다.EMAIL_PORT
: 이메일 호스트의 포트를 입력합니다.EMAIL_HOST_USER
: 이메일 계정의 사용자 이름을 입력합니다.EMAIL_HOST_PASSWORD
: 이메일 계정의 비밀번호를 입력합니다.EMAIL_USE_TLS
: 이메일 전송에 TLS(Transport Layer Security)를 사용할지 여부를 설정합니다.DEFAULT_FROM_EMAIL
: 기본 발신자 이메일 주소를 입력합니다.
이메일 호스트 및 계정 정보는 이메일 제공 업체로부터 제공받아야 합니다.
이메일 발송
이제 설정이 완료되었으므로, Django에서 이메일을 발송할 수 있습니다. 예를 들어, 회원가입 인증 이메일이나 비밀번호 재설정 링크를 포함한 이메일을 보낼 수 있습니다. 아래는 간단한 예제입니다.
from django.core.mail import send_mail
send_mail(
'Subject',
'Message',
'from@example.com',
['to@example.com'],
fail_silently=False,
)
위의 예제는 send_mail
함수를 사용하여 이메일을 발송하는 방법을 보여줍니다. 함수의 인자는 순서대로 제목, 메시지, 발신자 이메일 주소, 수신자 이메일 주소, 그리고 오류 발생 시 조용히 실패 여부를 나타내는 부울 값입니다.
이제 Django 애플리케이션에서 안정적이고 신뢰할 수 있는 방법으로 이메일을 발송하는 설정과 예제에 대해 알아보았습니다.