다음(DAUM) 이메일 서버를 이용하여 이메일 보내기
글. 수알치 오상문
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.message import EmailMessage
import imghdr
# SMTP 서버 정보
# 587 with STARTTLS and 465 with SSL.
smtp_info = {
'daum.net': ('smtp.daum.net', 465),
'hanmail.net': ('smtp.daum.net', 465),
}
SERVER = 'daum.net' # 이메일 서버 지정
# 로그인 정보
MY_EMAIL = '이메일서버의 계정' # 보내는 이메일 주소
MY_PASSWORD = '비밀번호' # 이메일 비밀번호
# 받을 이메일 정보
TO_EMAIL = '수신 이메일 계정' # 받는 이메일 주소
SUBJECT = '수알치 이메일 테스트입니다.' # 편지 제목
BODY = '안녕하세요. 본문 내용은 다음과 같습니다...' # 본문 내용
# 이메일 구성
message = EmailMessage() # MIMEMultipart()
message['From'] = MY_EMAIL
message['To'] = TO_EMAIL
message['Subject'] = SUBJECT
message.set_content(BODY) # message.attach(MIMEText(BODY, 'plain'))
print("이메일 전송 테스트")
try:
with smtplib.SMTP_SSL(*smtp_info[SERVER]) as smtp:
# STARTTLS (587) 사용시 필요
if smtp_info[SERVER][1] == 587:
smtp.starttls()
print("SMTP 로그인 시도 중...")
smtp.login(MY_EMAIL, MY_PASSWORD)
print("사진을 첨부합니다.")
with open('logo.png', 'rb') as image:
image_file = image.read() # 이미지 파일 읽기
image_type = imghdr.what('e-mail', image_file) # 이미지 확장자?
message.add_attachment(image_file, maintype='image', subtype = image_type) # 이메일에 사진 첨부
# image / maintype, subtype
print("이메일을 전송을 시작합니다.")
smtp.send_message(message)
except Exception as e:
print("이메일 발송 오류:", e)
else:
print("이메일이 전송되었습니다.")
print("종료합니다.")
[결과 화면]
이메일 전송 테스트
SMTP 로그인 시도 중...
사진을 첨부합니다.
이메일을 전송을 시작합니다.
이메일이 전송되었습니다.
[받은 이메일 화면]
'Python 활용' 카테고리의 다른 글
Python에서 Java 호출하는 방법 (0) | 2023.04.07 |
---|---|
파이썬, 아이디와 비밀번호('*' 출력) 입력, 암호화, 비교, 로그인 처리 (0) | 2023.04.01 |
*.SPDX 파일 읽는 파이썬 예제 (0) | 2023.03.13 |
파이썬, FPDF로 PDF 파일 저장하는 예제 (0) | 2023.03.12 |
미친 파이썬 프레임워크가 나타났다. Pynecone (0) | 2023.03.11 |