일일 이메일 보고서 전송을 자동화하는 Python 스크립트
일일 이메일 보고서를 자동화하는 Python 스크립트를 작성하려면 몇 가지 단계를 따르면 됩니다. 여기서는 Gmail을 기반으로 예를 들어 설명하겠습니다.
1. 필요한 Python 라이브러리 설치:
smtplib
: 이메일을 보내기 위한 라이브러리email
: 이메일 메시지를 생성하기 위한 라이브러리datetime
: 현재 날짜 및 시간을 가져오기 위한 라이브러리
2. Gmail 계정 설정:
- Gmail 계정의 보안 설정에서 “보안 수준이 낮은 앱의 액세스”를 허용해야 합니다.
3. Python 스크립트 작성:
- 이메일 보내기 기능을 포함한 Python 스크립트를 작성합니다.
- 필요한 보고서를 생성하고 이메일에 첨부할 수 있도록 스크립트를 작성합니다.
예를 들어, 다음과 같은 스크립트를 사용할 수 있습니다:
import smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom datetime import datetime# 보고서 내용 생성 함수def generate_daily_report(): # 여기에 보고서 생성 로직을 추가하세요. return "일일 보고서 내용"# SMTP 서버 설정smtp_server = 'smtp.gmail.com'smtp_port = 587# 보내는 사람 이메일 주소와 비밀번호sender_email = 'your_email@gmail.com'sender_password = 'your_password'# 받는 사람 이메일 주소receiver_email = 'recipient_email@example.com'# 이메일 메시지 생성msg = MIMEMultipart()msg['From'] = sender_emailmsg['To'] = receiver_emailmsg['Subject'] = f'일일 보고서 - {datetime.now().strftime("%Y-%m-%d")}'# 보고서 내용 생성report_content = generate_daily_report()# 이메일 본문 추가msg.attach(MIMEText(report_content, 'plain'))# SMTP 서버 연결 및 이메일 보내기try: server = smtplib.SMTP(smtp_server, smtp_port) server.starttls() server.login(sender_email, sender_password) text = msg.as_string() server.sendmail(sender_email, receiver_email, text) server.quit() print('이메일 보내기 성공!')except Exception as e: print(f'이메일 보내기 실패: {e}')
4. 스케줄링 설정:
cron
이나sched
와 같은 도구를 사용하여 스크립트를 일정한 시간에 실행하도록 설정합니다.
이것으로 Python 스크립트를 사용하여 일일 이메일 보고서를 자동화할 수 있습니다.
키워드: Python, 이메일, 자동화, 보고서, Gmail, 스크립트, SMTP, 보안, 스케줄링
글을 요약하는 키워드: Python, 이메일, 자동화, 보고서, Gmail, SMTP, 스케줄링, 보안, 스크립트, cron, sched