Python Gmail, naver 메일 전송

Jeongkuk Seo
sjk5766
Published in
3 min readFeb 1, 2019

언젠가 필요할 날이 있을 것 같아 메일전송이 성공한 base 코드를 기록해 둔다. Python 버전 3에서 테스트 하였으며, 메일을 받는 쪽(GMail, Naver)에서는 메일을 받을 수 있도록 설정을 따로 해야한다.

가령 Naver에서는 메일화면에서 왼쪽 [내 메일함]의 메일함 관리를 클릭한 뒤, 제일 위에 보이는 POP3/IMAP 설정을 클릭하고 사용하도록 설정한다. 보내는 메일 계정이 naver 메일인 경우 SMTP 서버의 주소는 smtp.naver.com 이다.

구글의 경우 구글계정 -> 보안 -> 보안 수준이 낮은 앱의 액세스를 사용으로 표시하면 프로그램을 통해 메일을 받을 수 있다. 보내는 메일이 Gmail일 경우 SMTP의 주소는 smtp.gmail.com 이다.

아래는 메일 전송에 성공한 코드 나머지는 코드만 봐도 어렵지 않게 이해할 것 같고 주석 (*) 을 살펴보자. smtp.gmail.com 으로 설정하였는데 이는 보내는 메일이 gmail 이기 때문이며, 보내는 계정이 naver라면 smtp.naver.com, 그 외의 메일이라면 각 SMTP 메일 서버를 인지하고 셋팅해야 한다. 주석 (**)은 보내는 메일의 계정과 패스워드를 입력하면 된다.

#-*- coding: utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
msg = MIMEText(‘메일 본문’) # 메일 본문 첨부
msg[‘Subject’] = Header(‘메일 제목’, ‘utf-8’) # 메일 제목 첨부
msg[‘From’] = ‘sendermail@example.com’ # 송신 메일
msg[‘To’] = ‘receivemail@example.com’ # 수신 메일
with smtplib.SMTP_SSL(‘smtp.gmail.com’) as smtp: # (*)
smtp.login(‘송신자계정’,’송신자패스워드’) # (**)
smtp.send_message(msg

--

--