이번 편에서는 파이썬으로 **파일 첨부된 메일을 자동 발송하는 실무 자동화**를 다룹니다.
보고서, 리포트, CSV 파일 등을 매번 메일에 첨부해 보내는 일이 있다면,
이제 파이썬으로 버튼 하나 없이 처리할 수 있습니다.

✅ 1. SMTP 기본 설정
import smtplib
from email.message import EmailMessage
# 기본 메일 정보 설정
msg = EmailMessage()
msg["Subject"] = "월간 보고서"
msg["From"] = "your_email@example.com"
msg["To"] = "target_email@example.com"
msg.set_content("첨부된 보고서를 확인해 주세요.")
---
✅ 2. 파일 첨부하기 (예: 엑셀/CSV)
with open("report.xlsx", "rb") as f:
file_data = f.read()
file_name = f.name
msg.add_attachment(file_data, maintype="application", subtype="octet-stream", filename=file_name)
---
✅ 3. 메일 전송하기 (Gmail 기준)
smtp = smtplib.SMTP_SSL("smtp.gmail.com", 465)
smtp.login("your_email@example.com", "앱 비밀번호")
smtp.send_message(msg)
smtp.quit()
📌 Gmail은 보안상 일반 비밀번호 대신 **앱 비밀번호** 사용해야 함
👉 2단계 인증 → 보안 > 앱 비밀번호 발급
---
✅ 4. 여러 명에게 자동 전송
emails = ["a@ex.com", "b@ex.com", "c@ex.com"]
for addr in emails:
msg["To"] = addr
smtp.send_message(msg)
→ 반복문으로 메일 본문만 바꿔 대량 발송도 가능
---
✅ 활용 예시
✔ 보고서 자동 발송 (CSV, 엑셀)
✔ 반복 업무 결과물 매일 자동 전달
✔ 특정 조건 시 자동 알림 메일 발송
---
✅ 실무 꿀팁
- 보내는 메일 주소는 Gmail 외에도 네이버, 다음, 회사메일 모두 가능 (SMTP 서버 주소 확인 필요)
- 파일은 용량 20MB 이내 권장
- HTML 본문 작성 시 `msg.add_alternative()` 사용 가능
---
📌 요약
- 메일 제목/본문/수신자 설정
- 첨부파일은 `.add_attachment()`로 처리
- SMTP 접속 → 로그인 → 전송 → 종료
다음 편에서는 **HTML 메일 템플릿 활용 & 자동 스케줄링**까지 이어집니다.
'PYTHON > 중급학습' 카테고리의 다른 글
| [중급 10편] 파이썬으로 보고서 자동 생성 & 메일 발송.zip (0) | 2025.05.14 |
|---|---|
| [중급 8편] CSV & 엑셀 파일 자동 처리.zip (0) | 2025.05.14 |
| [중급 7편] 파이썬으로 폴더 만들기 & 파일 자동 정리.zip (0) | 2025.05.14 |
| [중급 6편] 파일 입출력 고급편과 예외 안전 처리.zip (0) | 2025.05.13 |
| [중급 5편] 클래스 상속과 다형성 실전.zip (0) | 2025.05.13 |