본문 바로가기
업무 자동화

업무 자동화. 파이썬 이메일 첨부파일 자동 넣기 - 실무

by 원띵2 2026. 4. 20.

이메일 자동 발송을 어느 정도 익히면 결국 첨부파일을 함께 보내야 하는 상황이 생깁니다. 실무에서는 보고서, 견적서, 정리본, 신청서처럼 메일 본문보다 첨부파일이 더 중요한 경우도 많기 때문에, 파일을 빠뜨리지 않고 정확하게 넣는 구조가 필요합니다. 이번 글에서는 파이썬으로 이메일에 첨부파일을 자동으로 넣는 기본 방법과 초보자가 실수하기 쉬운 부분을 함께 정리합니다.

 

 

첨부파일 자동화가 필요한 이유와 자주 생기는 실수

 

이메일 자동화에서 첨부파일은 생각보다 중요한 단계입니다. 제목과 본문은 조금 어색해도 다시 보낼 수 있지만, 첨부파일은 빠뜨리거나 잘못 넣으면 업무 흐름 자체가 꼬일 수 있습니다. 예를 들어 주간 보고 메일을 보냈는데 파일을 첨부하지 않았거나, 지난주 버전의 파일을 실수로 넣었다면 다시 안내 메일을 보내야 하고 신뢰도도 떨어질 수 있습니다. 사람이 직접 첨부하는 방식은 간단해 보이지만, 반복 업무에서는 오히려 이런 실수가 자주 발생합니다.

 

특히 같은 형식의 업무를 반복할수록 방심하기 쉽습니다. 메일 제목은 수정했는데 첨부파일은 이전 파일이 그대로 붙어 있는 경우, 파일명은 비슷하지만 다른 문서를 잘못 선택하는 경우, 여러 개 파일 중 하나를 빠뜨리는 경우가 대표적입니다. 그래서 첨부파일 자동화의 핵심은 단순한 편의가 아니라, 발송 기준을 일정하게 만드는 데 있습니다. 코드에서 특정 파일을 명확하게 지정해두면 사람이 직접 파일 탐색기에서 찾는 과정이 줄어들고, 발송 전에 어떤 파일이 붙는지도 예측 가능해집니다.

 

또한 첨부파일 자동화는 이메일 자동화 시리즈에서 자연스러운 다음 단계입니다. 수신자 목록을 엑셀로 관리하는 구조를 만들었다면, 이제는 본문만 보내는 것이 아니라 필요한 파일까지 함께 전달해야 실제 업무 도구로 활용할 수 있습니다. 초보자는 처음부터 여러 개의 파일을 복잡하게 붙이기보다, 먼저 한 개의 파일을 정확하게 첨부해서 보내는 흐름부터 익히는 것이 좋습니다. 이 기본 구조를 이해하면 이후에는 여러 파일 첨부, 날짜별 파일 선택, 파일명 자동 생성 같은 실무형 확장으로 이어가기 쉬워집니다.

 

 

파이썬으로 첨부파일을 자동으로 넣는 기본 코드 구조


첨부파일을 자동으로 넣기 위해서는 일반 텍스트 메일보다 한 단계 더 복합적인 메시지 구조가 필요합니다. 제목과 본문만 있을 때는 MIMEText만 사용해도 되지만, 파일을 함께 넣으려면 본문과 파일을 하나의 메일 객체에 함께 담아야 합니다. 이때 많이 사용하는 방식이 MIMEMultipart입니다. 이름이 다소 어려워 보이지만, 본문과 첨부파일을 같이 담는 상자라고 생각하면 이해하기 쉽습니다.

 

아래 코드는 한 개의 첨부파일을 자동으로 넣어 메일을 보내는 가장 기본적인 예시입니다. 초보자가 구조를 따라가기 쉽도록 주석을 자세히 넣었습니다.

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders

# 1. 보내는 사람 메일 정보
sender_email = "your_email@example.com"
sender_password = "your_password"
receiver_email = "receiver@example.com"

# 2. 제목과 본문
subject = "[업무자료] 첨부파일 자동 발송 테스트"
body = """
안녕하세요.

업무자료를 첨부하여 전달드립니다.
파일 확인 후 필요한 사항이 있으면 회신 부탁드립니다.

감사합니다.
"""

# 3. 첨부할 파일 경로
file_path = "report.pdf"

# 4. 메일 전체 틀 만들기
message = MIMEMultipart()
message["Subject"] = subject
message["From"] = sender_email
message["To"] = receiver_email

# 5. 본문 추가
message.attach(MIMEText(body, _charset="utf-8"))

# 6. 첨부파일 추가
with open(file_path, "rb") as file:
    part = MIMEBase("application", "octet-stream")
    part.set_payload(file.read())

# 파일을 이메일 첨부 형식으로 인코딩
encoders.encode_base64(part)

# 첨부파일 이름 설정
part.add_header(
    "Content-Disposition",
    f'attachment; filename="{file_path}"'
)

# 메일에 첨부파일 붙이기
message.attach(part)

# 7. 메일 서버 연결 후 발송
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login(sender_email, sender_password)

server.sendmail(sender_email, receiver_email, message.as_string())
print("첨부파일 포함 메일 발송 완료")

server.quit()

 

이 코드에서 핵심은 message.attach()가 두 번 쓰인다는 점입니다. 한 번은 본문을 붙일 때, 한 번은 파일을 붙일 때 사용됩니다. 즉, 본문과 파일을 따로 만든 뒤 같은 메일 객체에 넣는 구조입니다. 초보자는 이 흐름만 이해해도 첨부파일 자동화의 큰 틀을 거의 익힌 것입니다.

 

주의할 점도 분명합니다.

첫째, file_path에 적은 파일 경로가 실제 파일 위치와 정확히 같아야 합니다. 파일명만 적었는데 현재 실행 폴더에 파일이 없으면 오류가 납니다.

둘째, 파일이 열려 있는 상태이거나 권한 문제가 있으면 읽기에 실패할 수 있습니다.

셋째, 처음부터 실제 업무 파일을 보내기보다 테스트용 PDF나 엑셀 파일로 먼저 발송해보는 것이 안전합니다.

첨부파일 자동화는 한 번 성공하면 매우 편리하지만, 경로나 파일명을 잘못 잡으면 원하는 파일이 아니라 다른 파일이 발송될 수 있으므로 검증이 중요합니다.

 

 

첨부파일 자동화는 발송 편의보다 실수 방지에 더 큰 의미가 있습니다

 

파이썬 이메일 첨부파일 자동화는 단순히 손을 덜 쓰기 위한 기능으로만 보면 아깝습니다. 실제로 더 큰 장점은 파일 누락, 잘못된 파일 첨부, 이전 버전 파일 전송 같은 반복 업무의 대표적인 실수를 줄일 수 있다는 데 있습니다. 사람이 직접 파일을 찾아 넣는 과정은 익숙해질수록 오히려 방심하기 쉽지만, 코드로 경로와 구조를 정해두면 어떤 파일을 붙일지 예측 가능해지고 발송 흐름도 일정해집니다.

 

이번 글에서는 한 개 파일을 첨부하는 가장 기초적인 구조만 다뤘지만, 여기서부터 실무 확장은 자연스럽게 이어집니다. 예를 들어 수신자별로 다른 파일을 붙이거나, 여러 개의 파일을 한 번에 첨부하거나, 날짜에 따라 파일명을 자동으로 선택하는 식으로 발전시킬 수 있습니다. 특히 다음 단계인 날짜별 보고서 파일 자동 첨부 주제는 이번 구조를 이해한 상태에서 보기 좋습니다. 파일 경로를 고정값으로 넣는 대신 날짜에 맞는 파일명을 만들어 붙이는 방식이기 때문입니다.

 

초보자 입장에서는 먼저 첨부파일 한 개를 안정적으로 보내는 것이 중요합니다. 제목, 본문, 첨부파일이 모두 포함된 하나의 메일이 어떤 순서로 구성되는지 이해하면 이후 확장이 훨씬 쉬워집니다. 자동화는 기능을 많이 넣는 것보다, 작은 구조를 정확하게 이해하고 실수 없이 반복하는 데서 출발합니다. 첨부파일 자동화도 마찬가지입니다. 가장 단순한 한 통의 메일부터 안정적으로 만들어보는 것이 실무 자동화의 좋은 시작입니다.

 

 

 

 

 

 

함께보면 좋은 글

 

업무 자동화. 파이썬 엑셀 수신자 메일 발송 - 실무

이메일 자동 발송을 어느 정도 익히면 다음으로 필요한 것은 수신자를 코드에 직접 적지 않고 엑셀에서 불러오는 방식입니다. 실무에서는 거래처, 팀원, 부서 담당자처럼 발송 대상이 자주 바뀌

heeday4753.com

 

 

업무 자동화. 파이썬 이메일 본문 내용 자동화 - 입문

이메일 자동 발송을 시작한 뒤 가장 먼저 부딪히는 문제는 제목과 본문을 매번 다시 쓰는 일입니다. 여기에 수신자가 여러 명으로 늘어나면 복사와 붙여넣기, 이름 수정, 발송 확인까지 반복되

heeday4753.com

 

 

업무 자동화. 파이썬 이메일 자동 발송 - 입문

직장에서 반복적으로 보내는 보고 메일은 단순해 보이지만, 매번 제목을 수정하고 본문을 붙여넣고 수신자를 확인하는 과정에서 생각보다 많은 시간이 빠져나갑니다. 특히 주간 보고, 일일 현

heeday4753.com

 

 

 


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 블로그 이름