본문 바로가기

IT

python 첨부파일 메일 보내기-네이버메일 보낸메일함 동기화 가능

python을 이용해 첨부파일이 존재하는 메일 보내기 코드입니다.

smtplib 라이브러리를 이용해 시도를 했었는데, 메일 보내기까지 성공했지만,

보낸메일함에 없다?? 네이버 메일을 사용하는 큰 이유가 보낸 메일함에 "수신확인" 기능이죠

그건 포기할 수 없었기에, 다른 방법! outlook 프로그램을 win32com 라이브러리로 제어하는 방법입니다.

 

1. 준비

outlook에 사용 등록을 해둡니다. (보낸 사람 이메일로 사용됨)

 

2. 아래코드로 첨부파일이 포함된 메일을 보낸다.

import win32com.client
import os

folder_name = input("[자동 메일 전송] 폴더명을 입력하세요: ")
attach_files = os.listdir(folder_name)
mail_To = input("이메일을 입력하세요: ")

files = []
for attach_file in attach_files:
    files.append(attach_file)

print('=========================')
print('파일목록: ', files)
print('파일개수: ', len(files))
print('메일주소: ', mail_To)
print('=========================')

check_sum = input("맞으면 1, 틀리면 아무거나 입력하세요: ")

mail_subject = "제목"
mail_body = """
내용
"""

if check_sum == '1':
    print('메일 보내는 중...')
    olMailItem = 0x0
    obj = win32com.client.Dispatch("Outlook.Application")
    newMail = obj.CreateItem(olMailItem)
    newMail.Subject = mail_subject
    newMail.HTMLBody = mail_body

    for attach_file in attach_files:
        newMail.Attachments.Add(folder_name + "\\" + attach_file)

    newMail.To = mail_To
    newMail.Send()
    
    print('메일 전송 완료')
    print('-------------------------------------------------')
else:
    print('다시!!')
    print('-------------------------------------------------')

 

굿 만족!

300x250