[python]파이썬: SMTP를 이용한 메일보내기
python에서 gmail로 이메일을 전송하는 방법을 알아보겠습니다.
- 이메일 전송을 하기 위해서는 SMTP(Simple Mail Transfer Protocol)프로토콜을 사용해야 합니다.
- smtp 서버 도메인 이름 입력
- gmail 도메인 이름: smtp.gmail.com
- port: 587
- gmail 계정 로그인
- 아이디와, 비밀번호를 각각 입력하시면 됩니다.
- 저 같은 경우에는 json 파일로 따로 계정정보를 관리했습니다.
- json 파일 읽기 쓰기가 궁금하시다면
※ 로그인 과정에서 로그인 오류가 발생할 수 있습니다.
※ escape로 인한 SyntaxError
※ SMTPAuthenticationError
- 만약 높은 수준의 보안을 유지한채 이메일을 보내고 싶으시다면 앱 비밀번호를 생성해야 합니다.
- 앱 비밀번호를 생성하기 이전 구글계정에서 2단계 인증을 완료해야 합니다.
- https://myaccount.google.com/security (계정 보안설정)
- 2단계 인증을 누르셔서 핸드폰 인증만 해주시면 됩니다.
- 앱 비밀번호 생성
- 앱은 메일, 기기는 Windows 컴퓨터를 선택했습니다.
- 각자의 환경에 맞게 선택하시면 됩니다.
- 아래의 비밀번로가 생성되면 해당 비밀번호를 로그인 인증부분의 비밀번호로 사용하시면 됩니다.
- 이메일 전송
- 이메일 확인
- 프로그램이 제대로 실행된 것을 확인할 수 있습니다.
전체코드
import smtplib
from email.mime.text import MIMEText
import json
with open("gmail.json", "r", encoding="utf-8") as fp:
gmail_account = json.load(fp)
session = smtplib.SMTP("smtp.gmail.com", 587)
session.starttls()
session.login(gmail_account["id"], gmail_account["pw"])
msg = MIMEText("내용: content_test")
msg["Subject"] = "제목: subject_test"
session.sendmail("보내는 이메일", "받는 이메일", msg.as_string())
댓글
댓글 쓰기