본문 바로가기

info

파이썬으로 이메일 보내기

# 이메일을 보내기 위한 smtplib 모듈을 import 한다


import smtplib



# 이메일에 이미지를 첨부하기 위한 모듈들을 import 한다


from email.mime.image import MIMEImage

from email.mime.multipart import MIMEMultipart


COMMASPACE = ', '



# 이메일 메세지 컨테이너를 만든다


msg = MIMEMultipart()

msg['Subject'] = 'Our family reunion'


# me == 보내는 사람의 주소


# family = 받는 사람들의 모든 주소


msg['From'] = me

msg['To'] = COMMASPACE.join(family) # join 함수로 받는 사람들의 주소를 합친다

msg.preamble = 'Our family reunion'



# 전송하고자 하는 이미지 파일들이 모두 PNG 파일이라고 가정하자


for file in pngfiles:

    # 바이너리 모드로 전송할 파일들을 연다.

    # MIMEImage 클래스가 자동으로 이미지의 타입을 알아낼 것이다.


    fp = open(file, 'rb')

    img = MIMEImage(fp.read())

    fp.close()

    msg.attach(img)




# 위와 같은 형태로 멀티파트에 MIME 부품을 추가하는 식으로 더 많은 정보를 넣을 수 있다

# MIMEText 등도 추가할 수 있다.



# 로컬 서버를 통해 메일을 보낸다.


s = smtplib.SMTP('localhost')

s.sendmail(me, family, msg.as_string())

s.quit()



# 로컬 SMTP 서버가 없을 경우 계정이 있는 다른 서버를 사용하면 된다.


s = smtplib.SMTP_SSL('smtp.gmail.com',465)

s.login("아이디", "비밀번호")

s.sendmail(me, you, msg.as_string())

s.quit()