Daum 메일을 사용하여 Python에서 메일을 보내는 방법을 알아봅니다. 어떻게하면 Python에서 Daum 메일서버를 통하여 메일을 보낼 수 있을까요? 아래에서 자세히 알아보겠습니다.
# Python Daum 메일서버로 메일 보내기
Python 웹서버에서 지메일 또는 다음 등의 메일 서비스 서버를 사용하여 웹메일을 발송할 수 있습니다. 이번에 알아볼
다음 메일의 경우에도 메일 발송시 다음 SMTP를 사용하여 가능합니다.
! Daum 메일에 SMTP 활성화하기
가장 먼저 Daum 메일에서 imap/pop3 탭으로 이동하여 사용 설정을 '사용함'으로 변경해야 메일 발송이 가능합니다. 아래와 같이 설정하도록 합니다.
- Daum 메일의 환경설정으로 이동하기
- IMAP / POP3 탭으로 이동
- 상단 SMTP 사용하기를 활성화하기
스크린샷) IMAP, POP3에 위치한 SMTP 사용하기
위와 같이 설정이 완료되면 이제 Python의 코드를 작성해보겠습니다.
! Python에 모듈 추가하기
가장 먼저 모듈을 추가해야합니다. Python에서 메일을 보내기 위해서
smtplib 모듈이 필요한데요 다음 메일 발송에는 모듈이 가지고 있는 함수 SMTP_SSL()를 사용하여 메일을 보낼 것입니다. 그래서 아래처럼 모듈을 추가합니다.
from smtplib import SMTP_SSL
모듈이 추가되면 여러가지 메일 발송에 필요한 정보를 입력하고 보내야합니다. 이때 아래와 같은 내용이 필요하겠죠.
- 보내는 사람
- 받는 사람
- 제목
- 내용
그럼 아래에서 전체 예제 코드를 알아보겠습니다. 메일 발송을 Python에 별도 컴포넌트로 등록해서 사용하면 더 좋겠습니다.
@ /component/email.pyfrom smtplib import SMTP_SSL
def put():
try:
toEmail = '받을 이메일 주소'
fromEmail = 'support@webisfree.com'
TitleEmail = '이메일 제목입니다'
msg = "\r\n".join([
"From: " + fromEmail,
"To: " + toEmail,
"Subject: " + TitleEmail,
"",
"여기에 내용이 들어갑니다"
])
## Daum SMTP
conn = SMTP_SSL("smtp.daum.net:465")
conn.ehlo()
loginId = 'email'
loginPassword = 'password'
conn.login(loginId, loginPassword)
conn.sendmail(fromEmail, to_email, msg)
conn.close()
return 'Success to send emails.'
except Exception as e:
return "Failed. error" + str(e)
여기까지 다음 메일을 사용하여 Python에서 메일을 발송하는 방법에 대하여 알아보았습니다.
! 언제 메일 발송이 필요할까요?
여러 이유가 있겠지만 제 경우 이메일 발송 웹어플리케이션의 cms에 추가해 두었습니다. 그 이유는 방문자가 문의하거나 기타 사유로 메일 발송이 필요할 수 있습니다. 그때 텍스트가 아닌 이메일html 템플릿을 미리 서버에 저장해두고 발송한다면 신뢰하고 디자인된 최적의 메일을 발송할 수 있겠죠.
또 다른 이유로 매체, 블로그 등에서 구독자에게 메일을 발송하기 위함입니다.