본문 바로가기

CI&CD/Python

[python]이메일 발송

728x90

배포 관련일 하다보면 필연적으로 이메일 발송해야하는 상황이 생긴다. 쉘로는 한계가 있어서 메일만큼은 파이썬으로 구현해서 처리하는편이다. 지원 라이브러리,모듈,API 등등 지원이나 편의성이나 여러모로 좋다.

 

smtplib, email 라이브러리를 이용하는게 보편적인 방법인것인거같다. 최초 구현이 너무 오랜만이라 찾아봤는데, 여기서 사용되는 라이브러리는 내장 라이브러리라 따로 pip install해서 추가로 설치해야 할것도 없다.

 

import smtplib
from email.mime.text import MIMEText

to_email = 'to@mail.com' # 받는 사람
from_email = 'from@mail.com' # 보내는사람
password = "password" # 보내는 사람 계정 비밀번호
smtp_name = "smtp.mail.com" #smtp 서버 주소
smtp_port = 000 #smtp 포트 번호

contents = '메일 테스트 내용입니다'

msg = MIMEText(contents, "html" , _charset = "utf8")
msg['Subject'] = '테스트 메일 제목입니다'
msg['From'] = from_email
msg['To'] = to_email
# msg['To'] = ", ".join(to_email) 여러명에게 발송할 때, to_email을 리스트로 입력
smtp_ssl = smtplib.SMTP_SSL( smtp_name , smtp_port ) #메일 서버 연결
smtp_ssl.login( from_email , password ) #로그인
smtp_ssl.sendmail( from_email, to_email, msg.as_string() ) #메일 전송, 문자열로 변환
smtp_ssl.close() #smtp 서버 연결 종료

728x90

'CI&CD > Python' 카테고리의 다른 글

[python] 알고리즘 풀이를 위한 함수  (0) 2022.08.18
[Python] 예외처리  (0) 2022.07.29
[Python] requests.exceptions.SSLError: HTTPSConnectionPool  (0) 2022.07.13