본문 바로가기
파이썬

8주차, smtp 활용

by 호놀롤루 2022. 2. 10.

smtp(Simple Mail Transfer Protocol)은 이름 그대로 메일을 편하게 보낼 수 있게 하는 프로토콜이다.

 

파이썬에서 smtplib 이라는 기본 라이브러리를 제공하니 인스톨 할 라이브러린 없다.

파이썬으로 gmail을 보내는 코드를 써보면

# smtplib 은 SMTP를 사용하기 위한 모듈
# MIMEText 는 메일을 보낼 때 메세지의 제목과 본문을 성정하는 모듈
import smtplib
from email.mime.text import MIMEText

# 세션을 만들기 위해 SMTP 인스턴스를 이용하여 SMTP 연결을 캡슐화,
# 첫번째 파라미터는 gmail을 사용하기 위한 SMTP변수,
# 두번째 파라미터는 포트 번호, gmail은 587번 포트를 쓴다.
s = smtplib.SMTP('smtp.gmail.com', 587)

# TLS 보안 시작, 보안상의 이유로 SMTP연결을 TLS(전송 계층 보안) 모드로 설정
# 해야 한다.
s.starttls()

# gmail 계정을 인증, 근데 그냥 비번 치면 안됨, gmail 계정을 다른 디바이스에서
# 쓰려면 IMAP을 설정해줘야 한다.
s.login('gmail 주소', '앱 비번')

# IMAP 설정은 gmail계정의 설정에서 '전달 및 POP/IMAP'카테고리에서
# IMAP 엑세스를 'IMAP 사용'으로 바꿔줘야 한다.

# 그리고 그냥 비번을 치면 안된다. 구글 계정에서 2단계 인증을 완료하면 앱 비번을
# 생성할 수 있다. 앱은 메일, 기기는 MAC으로 설정, 나온 비밀번호를 사용

# 보낼 메세지 설정
msg = MIMEText('내용')
msg['Subject'] = '제목'

# 메일 보내기
s.sendmail("gmail 주소", "수신자 메일 주소", msg.as_string())

# 세션 종료
s.quit()

여기서 판다스를 활용하면 엑셀 내에 있는 이메일 주소로 자동으로 이메일을 보내는 코드도 작성할 수 있다.

'파이썬' 카테고리의 다른 글

8주차, 맥에서 pandas  (0) 2022.02.07
7주차, numpy 중간과정  (0) 2022.02.01
7주차, 정규식 정리  (0) 2022.02.01
6주차, 정규식 실습  (0) 2022.01.31
6주차, 정규식  (0) 2022.01.29

댓글