[Python] 파이썬으로 자동메일링(Outlook)

qw4735·2024년 5월 17일
0

Python

목록 보기
10/10
post-custom-banner
import win32com.client
import os
from PIL import ImageGrab, Image

def mailing(sender, receiver, reference, hidden_reference, dir_path):

	outlook = win32com.client.Dispatch("Outlook.Application")

	Txoutlook = outlook.CreateItem(0)   # 새 이메일 항목 생성 # 0 : 새 이메일 메시지

	Txoutlook.Sender = sender
    Txoutlook.To = receiver
    Txoutlook.cc = reference
    Txoutlook.BCC = hidden_reference
   
    Txoutlook.Subject = "Daily Report 공유의 건"

	file_list  = os.listdir(dir_path)
    files = [file for file in file_list]
 
    # outlook 본문에 이미지 캡처 후 삽입
	excel_app = win32com.client.Dispatch('Excel.Application')
    excel_app.Visible=False
   
    workbook = excel_app.Workbooks.Open(os.path.join(dir_path, files[0]))
	worksheet = workbook.Sheets[sheet_name1]

	range_to_copy = worksheet.Range('A1:AH64')  # 특정 범위를 클립보드로 복사
    range_to_copy.Copy()
    clipboard_image = ImageGrab.grabclipboard()  # 클립보드에서 이미지 가져오기
    img_file = r'이미지파일 경로\\img.png'
    clipboard_image.save(img_file)
    Txoutlook.BodyFormat = 2 # HTML형식
    # 첨부파일 추가 및 CID설정
    attachment = Txoutlook.Attachments.Add(img_file)
    cid = f"cid:{os.path.basename(img_file)}"  # HTML 본문에서 참조할 CID
    attachment.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E", cid)
   
    # HTML 본문에 이미지 삽입
 	html_body = f"""
    <html>
  	<body>
    <p> Daily자료 공유드립니다.<br><br></p>
    <img src="{cid}">
    </body>
    </html>
    """
	Txoutlook.HTMLBody = html_body   # """ 파이썬을 이용한 이메일 발송 테스트 입니다. """

	attachment = os.path.join(dir_path, files[0])  #

	Txoutlook.Attachments.Add(attachment)  #
    Txoutlook.Send()  #
post-custom-banner

0개의 댓글