공부하는 블로그
[python] SMTP 모듈을 사용해 이메일 보내기 본문
728x90
안녕하세요. 이번에도 오랜만에 글을 작성하네요.
(꾸준히 작성하고 싶었지만 어렵네요..)
이번에 소개해드릴 내용은 파이썬에서 SMTP(Simple Mail Transfer Protocol)를 사용해 이메일 보내기입니다.
코드는 아래와 같습니다.
# 이메일 보내기
import smtplib
import datetime
from email.mime.text import MIMEText
def SendMail():
now = datetime.datetime.now()
sendEmail = "보내는 이메일"
recvEmail = "받는 이메일"
password = "보내는 메일 비밀번호"
# 네이버로 전송
smtpName = "smtp.naver.com" #smtp 서버 주소
smtpPort = 587 #smtp 포트 번호
text = "매일 내용 \n"
# 보내는 시간 입력
text = text+ str(now)
msg = MIMEText(text) #MIMEText(text , _charset = "utf8")
msg['Subject'] ="메일제목"
msg['From'] = sendEmail
msg['To'] = recvEmail
print(msg.as_string())
s=smtplib.SMTP( smtpName , smtpPort ) #메일 서버 연결
s.starttls() #TLS 보안 처리
s.login( sendEmail , password ) #로그인
s.sendmail( sendEmail, recvEmail, msg.as_string() ) #메일 전송, 문자열로 변환하여 보냅니다.
s.close() #smtp 서버 연결을 종료합니다.
해당 코드에서 각각 계정, 비밀번호, 메일 내용, 제목 등을 알맞게 수정해서 사용하시면 됩니다.
다만 주의할 점은 Google 서버를 사용하기보다는 네이버 서버를 사용하는 것을 추천드립니다.
서버로 접속해서 로그인을 한 다음에 보안 관련 이슈를 해결해야 되는데, 찾아보니깐 구글은 더 이상 낮은 보안을 지원하지 않는다고 합니다.
그래서 저는 네이버로 진행을 했으며 네이버 설정 방법을 소개해드리고자 합니다.
[SMTPAuthenticationError : 534 에러 해결 방법]
POP3/IMAP 설정에 들어가서 POP3/SMTP 사용을 사용함으로 체크해주고 저장해 주시면 됩니다!
저는 주로 shell script를 작성해서 오래 걸리는 경우 마지막에 해당 코드를 실행하도록 해서 알림을 받습니다.
참고링크
'Python' 카테고리의 다른 글
[Conda] 환경 이식 / 복제 (2) | 2023.10.22 |
---|---|
[python] 가장 최신 파일 정보 (0) | 2023.06.26 |
[python] 날짜 차이 계산 (개월 수 계산) (0) | 2023.06.22 |