본문 바로가기
Programming/Python

직장인 필독! 이메일 자동 발송 프로그램 만들기 (파이썬 Python)

by 심코딩 2022. 6. 1.

오늘은 직장인 분들에게 꼭 필요한 포스팅 하나 드리려 합니다!

 

업무를 보다보시면 계속해서 동일한 이메일을 매일마다 그날 그날 상황에 맞춰 동일한 주소로 보낼 일들이 굉장히 많을건데요, 만약 이 일을 그냥 프로그램 하나로 불러와서, 변경있는 부분만 설정을해서 엔터만 누르면 바로 이메일을 보낼 수 있다면 얼마나 편할까요?

 

바로 하단 확인 부탁드립니다!

 

* 전 현재 호주 현지 여행사에서 근무하고 있습니다. 이에 따라 손님의 리스트를 에이전시에 보낼일들이 굉장히 많은데요, 쉽게 말해 손님 이름만 바꿔서 보내면 되는겁니다. 어떻게 자동화 되는지 보시죠!

 

 

처음 프로그램을 실행하면 손님 이름을 넣으라고 합니다.

첫 손님 이름을 Michael 이라고 넣으면, 추가 손님이 있는지 물어봅니다.

추가 손님 Minsoo가 있기 때문에 1을 누른 후, Minsoo를 입력해 줍니다.

Minsoo 입력 후 다시 다른 손님이 있냐는 질문에 없기 때문에 2를 눌러줍니다.

 

그러면 프로그램에서 최종 손님 목록 리스트를 보여준 후, 이메일을 보낼 준비가 됬냐고 물어봅니다.

1 을 누른다면 이메일을 보낸다는 말과 함께 자동으로 프로그램은 종료 됩니다.

발송 후 미리 지정해둔 이메일함으로 가보면, 아래와 같이 발송되있는 것을 확인할 수 있습니다.

다만, 협력사에 이메일을 보내는데 이런식으로 리스트만 딱 보내면 안되겠죠?

어느 정도 양식을 만드신 후 그 탬플릿에 맞춰서 이메일을 보낼 수 있도록 하면 굉장히 좋을 것 같은데요,

 

이는 html을 조금 이해하신다면 바로 가능합니다.

 

최종 코드 한번 아래 알려드리겠습니다.

 

import smtplib
import ssl
from email.message import EmailMessage

subject = "2022년 2월1일 보고서 입니다"
body = "안녕하세요 \n\n아래와 같이 보고 드립니다"
sender_email = "1234gmail.com"
receiver_email = "1234@gmail.com"
password = "123456"

message = EmailMessage()
message["From"] = sender_email
message["To"] = receiver_email
message["Subject"] = subject


html = f"""
<html>
    <body>
        <h1>{subject}</h1>
        <p>{body}</p>
    </body>
</html>
"""
message.add_alternative(html, subtype="html")

context = ssl.create_default_context()

print("Sending Email!")

with smtplib.SMTP_SSL("smtp.gmail.com", 465, context=context) as server:
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, message.as_string())
print("Email Sent")

여기서 html 부분만 원하시는 폼으로 변경 한 후 바로 사용 가능하십니다

* 위 코드에 있는 패스워드는 gmail의 시큐리티 관련 패스워드입니다. 만약 진행하시다가 모르시면 쪽지나 댓글 달아주세요.

댓글