다음(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 로그인 시도 중...
사진을 첨부합니다.
이메일을 전송을 시작합니다.
이메일이 전송되었습니다.

[받은 이메일 화면]

 

반응형

+ Recent posts