Development/파이썬 [Python]

[Python] 파이썬 SMTP를 통한 메일 전송

요체크다 2021. 2. 2. 01:27
반응형

 파이썬에서 제공해 주는 라이브러리 중 기본 내장된 "smtplib" 라는 모듈을 통해 아주 쉽게 메일을 전송할 수 있습니다. 아래 예제를 참조하여 해당 기능을 잘 활용한다면 본인의 업무 효율성을 높여줄 수 있는 하나의 좋은 무기가 될 수 있으니 업무에 한 번씩 적용해 보셔도 좋을 거 같습니다.

 

 우선 STMP가 무엇인지 살짝 알아보고 넘어가도록 하겠습니다. SMTP는 "Simple Mail Transfer Protocol" 의 약자로서 메일을 보내는데 사용되는 프로토콜입니다.

 

 보통 사내에 SMTP 서버를 구축하여 메일 서버를 통해 메일 발송이 이루어지는데, 요즘은 굳이 사내에 메일 서버를 구축할 필요 없이 Google, MS, 네이버, 다음 등을 통해서 좀 더 편리하게 메일 기능을 사용할 수도 있습니다.

 

 오늘 이시간에는 네이버를 통해 메일을 전송하는 예제를 진행해 보도록 하겠습니다.

우선 네이버를 통해 메일을 발송하기 위해서는 아래와 같이 사전 준비작업이 필요하니 아래 정보 참조하여 사전 준비작업을 해주시기 바랍니다.


"사전 준비작업"

1) 네이버 로그인 후 메일 환경 설정 이동

  - 내 메일함에 마우스를 가져오면 환경설정 버튼이 활성화됩니다.

2) POP3/IMAP 설정 메뉴  =>  IMAP/STMP 설정 탭  =>  IMAP/SMTP 사용함 선택 후 확인 버튼 누르기

 


"네이버 메일 보내기"

아래 예제를 참조하여 네이버 SMTP를 통해 메일 전송이 가능합니다. 

import smtplib
from email.mime.text import MIMEText

sendmail = "네이버ID@naver.com"   #ex) test@naver.com
receivemail = "받는 대상"   #ex) target@daum.net
password = "네이버 비밀번호"   #ex) 네이버 ID의 패스워드

smtpaddress = "smtp.naver.com"  #네이버 SMTP 서버 주소
smtpport = 587  #네이버 SMTP 포트 번호

text = "매일 내용 입력"
msg = MIMEText(text)

msg['Subject'] ="메일제목 입력"
msg['From'] = sendmail
msg['To'] = receivemail

s = smtplib.SMTP( smtpaddress , smtpport )  # 네이버 메일 서버 연결 부분
s.starttls()  #TLS 보안 처리
s.login( sendmail, password )  #로그인 부분
s.sendmail( sendmail, receivemail, msg.as_string() )  #메일 전송 부분
s.close()  #네이버 smtp 서버와 연결 종료
반응형