본문 바로가기
업무 자동화

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

by 원띵2 2026. 4. 10.

이메일 자동 발송을 시작한 뒤 가장 먼저 부딪히는 문제는 제목과 본문을 매번 다시 쓰는 일입니다. 여기에 수신자가 여러 명으로 늘어나면 복사와 붙여넣기, 이름 수정, 발송 확인까지 반복되어 실수 가능성이 커집니다. 이번 글에서는 파이썬으로 이메일 제목과 본문을 자동으로 만들고, 같은 형식의 메일을 여러 명에게 보내는 가장 기초적인 방법을 정리하겠습니다.

 

 

제목과 본문을 변수로 바꾸면 반복 메일이 쉬워집니다

 

직장에서 보내는 메일은 생각보다 형태가 비슷합니다. 주간 보고, 일정 안내, 자료 전달, 확인 요청처럼 제목만 조금 바뀌고 본문 구조는 거의 같은 경우가 많습니다. 이때 사람이 직접 매번 제목을 수정하고 본문을 복사해서 붙여넣으면 시간도 걸리고, 날짜를 잘못 넣거나 이전 내용을 그대로 두는 실수도 발생합니다. 그래서 이메일 자동화의 핵심은 단순히 메일을 보내는 기술보다, 제목과 본문을 규칙 있게 관리하는 방식에 있습니다.

 

파이썬에서는 제목과 본문을 문자열 변수로 만들어 쉽게 다룰 수 있습니다. 예를 들어 오늘 날짜를 제목에 넣고, 본문에는 인사말과 전달 문장을 고정해둘 수 있습니다. 이렇게 하면 나중에 바뀌는 부분만 수정하면 되므로 업무 흐름이 훨씬 단순해집니다. 특히 보고 메일처럼 형식이 정해져 있을수록 이런 방식이 잘 맞습니다.

 

아래 코드는 제목과 본문을 변수로 만드는 가장 단순한 예시입니다.

today = "2026-04-10"

subject = f"[주간보고] {today} 업무 현황"
body = f"""
안녕하세요.

{today} 기준 업무 현황을 공유드립니다.
검토 후 필요한 사항이 있으면 회신 부탁드립니다.

감사합니다.
"""

 

이 코드에서 중요한 점은 두 가지입니다.
첫째, 제목과 본문이 모두 코드 안에서 따로 관리된다는 점입니다.
둘째, 날짜처럼 자주 바뀌는 값을 중간에 끼워 넣을 수 있다는 점입니다. 초보자는 여기서부터 시작하면 됩니다.
처음에는 복잡한 조건문이나 외부 파일 연동 없이, 제목과 본문을 직접 변수에 넣어보고 어떻게 바뀌는지만 확인해도 충분합니다.

 

이 방식의 장점은 나중에 확장하기 쉽다는 데 있습니다. 예를 들어 수신자 이름을 넣어 “홍길동님, 안녕하세요.”처럼 보낼 수도 있고, 보고 기간이나 부서명을 자동으로 붙일 수도 있습니다. 결국 자동화의 출발점은 어려운 기능이 아니라 반복되는 문장을 사람이 직접 매번 입력하지 않게 만드는 데 있습니다.

 

 

같은 메일을 여러 명에게 보내는 기초 구조

 

제목과 본문을 자동으로 넣는 데 익숙해지면 다음 단계는 여러 명에게 보내는 구조입니다. 여기서 가장 많이 헷갈리는 부분은 “한 번에 여러 명에게 보내는 것”과 “같은 메일을 한 명씩 반복해서 보내는 것”의 차이입니다.

실무에서는 보통 한 명씩 보내는 방식이 더 안전합니다. 이유는 이름이나 인사말을 개인별로 바꿀 수 있고, 다른 수신자의 이메일 주소가 노출되지 않기 때문입니다. 따라서 입문 단계에서는 수신자 목록을 만들고, 이를 반복문으로 하나씩 보내는 방식부터 이해하는 편이 좋습니다.

 

아래 예시는 초보자가 구조를 읽기 쉽도록 주석을 달아 정리한 코드입니다. 실제 계정 정보는 예시이므로 본인 환경에 맞게 바꿔야 합니다.

import smtplib
from email.mime.text import MIMEText

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

# 2. 받는 사람 목록
receivers = [
    "user1@example.com",
    "user2@example.com",
    "user3@example.com"
]

# 3. 공통 제목과 본문 만들기
today = "2026-04-10"
subject = f"[안내메일] {today} 업무 공지"

body = f"""
안녕하세요.

{today} 기준 공지사항을 전달드립니다.
내용 확인 후 필요한 경우 회신 부탁드립니다.

감사합니다.
"""

# 4. 메일 서버 연결
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()  # 보안 연결 시작
server.login(sender_email, sender_password)

# 5. 받는 사람 목록을 하나씩 꺼내서 발송
for receiver in receivers:
    message = MIMEText(body, _charset="utf-8")
    message["Subject"] = subject
    message["From"] = sender_email
    message["To"] = receiver

    server.sendmail(sender_email, receiver, message.as_string())
    print(f"{receiver} 발송 완료")

# 6. 서버 연결 종료
server.quit()

 

이 코드는 길어 보이지만 구조는 단순합니다. 먼저 보내는 사람 정보를 입력하고, 받는 사람 목록을 리스트로 만든 뒤, 제목과 본문을 작성합니다. 그다음 메일 서버에 로그인하고, 수신자 목록을 하나씩 꺼내면서 같은 형식의 메일을 반복 발송합니다.

여기서 꼭 이해해야 할 부분은 for receiver in receivers: 구문입니다. 이 한 줄이 여러 명 발송의 핵심입니다. 목록에 있는 이메일 주소를 하나씩 불러와 같은 작업을 반복하게 만듭니다.

 

실행할 때는 몇 가지 주의가 필요합니다. 회사 계정이나 Gmail 계정은 보안 설정 때문에 일반 비밀번호만으로 접속이 되지 않을 수 있습니다. 또한 처음부터 실제 거래처나 팀원에게 보내기보다 본인 메일 주소를 리스트에 넣어 테스트하는 것이 안전합니다. 제목 한글이 깨지지 않는지, 줄바꿈이 자연스러운지, 발송 순서가 정상인지 먼저 확인해야 합니다. 자동화는 편리하지만, 검증 없이 바로 실무에 넣으면 작은 실수가 더 크게 퍼질 수 있습니다.

 

 

입문 단계에서는 단순한 자동화부터 정확하게 익히는 것이 중요합니다

 

파이썬 이메일 자동화는 처음 보면 어렵게 느껴질 수 있지만, 실제 구조는 제목을 만들고 본문을 넣고 수신자를 정한 뒤 반복해서 보내는 순서로 정리됩니다. 이 흐름만 이해하면 매번 같은 공지 메일을 다시 쓰는 일, 여러 명에게 같은 내용을 보내면서 수신자를 하나씩 붙여넣는 일을 상당 부분 줄일 수 있습니다. 결국 자동화의 목적은 화려한 기능이 아니라 반복 작업을 일정한 규칙으로 바꾸는 데 있습니다.

 

이번 글에서 다룬 범위는 입문 단계에 맞춘 기초 구조입니다. 제목과 본문을 변수로 관리하는 방법, 여러 명 발송을 위해 리스트와 반복문을 사용하는 방법만 제대로 익혀도 실무에서 체감되는 변화가 분명히 있습니다. 특히 주간 보고, 공지 메일, 단순 안내 메일처럼 형식이 고정된 업무에서는 바로 응용할 수 있습니다. 반대로 개인별 맞춤 내용, 첨부파일, 참조 설정, HTML 서식까지 한 번에 넣으려 하면 입문단게에서는 쉽게 흐름을 놓칩니다.

 

따라서 처음에는 한 통의 메일이 어떻게 만들어지고, 여러 명에게 어떤 순서로 반복 발송되는지만 정확하게 이해하는 편이 좋습니다. 그다음 단계에서 이름을 본문에 자동으로 넣거나, 엑셀 파일에서 수신자 목록을 불러오거나, 첨부파일을 추가하는 방식으로 확장하면 됩니다.

이메일 자동화 입문자는 작게 시작하고, 안전하게 테스트하고, 필요한 부분만 차근차근 확장하는 방식이 가장 효율적입니다.

 

 

함께보면 좋은 글

 

파이썬 이메일 자동 발송 - 입문

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

heeday4753.com

 


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

© 2026 블로그 이름