파이썬 업무자동화 (1) 단체 이메일 보내기

🙂·2023년 7월 16일
0

💡 Python 코드로 일괄 메일 보내기

  • 행정업무를 하다보면 수십명 많게는 수백명의 사람에게 이메일을 보내야하는 경우가 있다. 나도 인턴 생활을 할때 약 240여명이나 되는 사람들을 크라우드소싱(crowdsourcing)으로 모집했던 적이 있었고, 사업이 끝나는 시점에 개개인에게 필요한 자료를 보내야 했던 일이 있었다.

❓문제 상황

  • 보내야하는 파일은 원천징수영수증이였고(개인정보문제로 파일 암호화 필요), 개인마다 받는 정보, 파일이 달랐음

📌 해결 방법

  1. 엑셀 파일을 통해 개인정보 정리 (이메일 주소/ 작업자 아이디(식별 번호) / 이름 / 첨부파일 경로)

  1. Outlook 연동하는 코드 작성
import pandas as pd

#엑셀 파일 경로
df = pd.read_excel(r'C:\Users\pc\Desktop\이메일 전송\\이메일 리스트.xlsx')

cnt=0

for i in range(df.shape[0]):
    try:
        cnt+=1
        outlook=win32com.client.Dispatch("Outlook.Application")
        Txoutlook = outlook.CreateItem(0)
    
        Txoutlook.To = df.iloc[i][0]
        Txoutlook.Subject = "메일 제목"

        Txoutlook.HTMLBody = """n
        <html>
        <body lang=KO style='tab-interval:40.0pt;word-wrap:break-word'>

        <div class=WordSection1>

        <p class=MsoNormal>안녕하세요 %s님</p>
       
        </div>

        </body>

        </html>
   
        Txoutlook.Attachments.Add(attachment)
        Txoutlook.Send()
    except:
        print(df.iloc[i][2])

print(cnt)

0개의 댓글