
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
어제와 이어서 질문입니다.
어제 상기처럼 복붙해서 숙제 제출을 했는데 오늘 제출한 숙제 파일을 다시 확인해 보니 튜터님의 코드 원본만 있습니다
이미 숙제 제출은 한 상태고 취소나 수정도 안되는데 다시 반려될까봐 걱정입니다.
아래 부분에 코드를 올려 놓을 테니 검토해 주시고 숙제 대체 의미로 처리해 주시면 안될까요?


작성한 코드 및 에러 메세지
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import time
import datetime
import openpyxl
import pytz
# 이메일 계정 설정
email_address = 'evedesign.j@gmail.com' # 여기에 본인의 이메일 주소 입력
email_password = 'pvxz qhfm xuau yeng' # 여기에 본인의 이메일 비밀번호 입력
# SMTP 서버 설정 (Gmail 기준)
smtp_server = 'smtp.gmail.com'
smtp_port = 587
# 이메일 제목과 내용 설정
subject = '마케팅 이벤트 협조 요청'
message_body = '''
안녕하세요, {name}님!
저희 마케팅 부서에서는 새로운 이벤트를 기획 중에 있습니다.
고객님의 참여가 매우 중요하며, 아래와 같은 내용을 협조 부탁드립니다.
이벤트 내용:
- 전자책 1부 구입 시 10% 할인
- 구매 금액의 2% 포인트 적립
이와 관련하여 다양한 홍보 방법을 고민 중이오니, 부서 내에서 아이디어를 나누고 적극적인 협조 부탁드립니다.
감사합니다.
기획총괄사업부 담당자 정지희 드림
'''
# 서울 시간대 설정
seoul_tz = pytz.timezone('Asia/Seoul')
def send_emails():
# 현재 서울 시간 구하기
seoul_now = datetime.datetime.now(seoul_tz)
# 엑셀 파일 읽기
marketing_workbook = openpyxl.load_workbook('marketing_data.xlsx')
marketing_sheet = marketing_workbook['Sheet']
# 이메일 보내기
for row in marketing_sheet.iter_rows(min_row=2, values_only=True):
name, _, email = row
# 이메일 내용에 이름 삽입
formatted_message = message_body.format(name=name)
# 이메일 설정
msg = MIMEMultipart()
msg['From'] = email_address
msg['To'] = email
msg['Subject'] = subject
msg.attach(MIMEText(formatted_message, 'plain'))
# SMTP 서버 연결 및 로그인
with smtplib.SMTP(smtp_server, smtp_port) as server:
server.starttls()
server.login(email_address, email_password)
# 이메일 전송
server.sendmail(email_address, email, msg.as_string())
# 엑셀 파일 닫기
marketing_workbook.close()
# 프로그램이 종료되지 않도록 유지하면서 매주 월요일과 수요일 오전 10시에 실행되도록 함
while True:
# 현재 서울 시간 구하기
seoul_now = datetime.datetime.now(seoul_tz)
# 매주 월요일과 수요일 오전 10시에 send_emails 함수 실행
if seoul_now.weekday() == 0 and seoul_now.hour == 10:
send_emails()
elif seoul_now.weekday() == 2 and seoul_now.hour == 10:
send_emails()
# 1분마다 체크
time.sleep(60)
