커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
과제 제출하려고 했는데 같은 오류가 수십~백번 떠서 포기했습니다
[왕초보] ChatGPT 300% 활용하기 v0
4주차
북마크
강*임
댓글
4
추천
0
조회수
20
조회수
20
답변 완료




진짜 이것 때문에 아무것도 못했습니다. 다른 사람들은 어떻게 진행한걸까요?

py 파일 내용을 토대로 수정한 부분이 오류가 계속 떠서 엄한 chatGPT한테만 체감상으로 수백번은 물어본 것 같아요.

너무 힘들어서 다 포기하고 첨부된 py파일은 못쓸거같아서 새롭게 chatGPT한테 질문했습니다.

pandas를 import 해서 가져오니 잘되더군요.

진짜 별의 별거 다 해봤고 7시간 걸렸습니다.... 첨부된 py를 수정한 결과는 도저히 못풀겠습니다.







작성한 코드 및 에러 메세지

import openpyxl

import smtplib

import schedule

import time

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

from datetime import datetime

import pytz


def send_email():

    smtp_server = 'smtp.gmail.com'

    smtp_port = 587


    # 앱 비밀번호 관련 정보 입력

    smtp_username = 'kingthecoding@gmail.com'

    smtp_password = 'ufzq atlt htzf uabv'


    # 엑셀 파일 이름 입력

    wb = openpyxl.load_workbook('source.xlsx')


    # 시트 이름 입력

    ws = wb['marketer']


    # 이메일 보낼 사람과 이메일 정보 가져오기

    name_list = []

    email_list = []


    for row in ws.iter_rows(min_row=2, values_only=True):

        name = row[0]

        email = row[1]

        name_list.append(name)

        email_list.append(email)


    with smtplib.SMTP(smtp_server, smtp_port) as smtp:

        smtp.starttls()

        smtp.login(smtp_username, smtp_password)


        for name, email in zip(name_list, email_list):

            # 메일 제목, 본문 내용 작성

            mail_subject = f"주간 업데이트 - {name}"

            mail_body = f"안녕하세요, {name}님!\n이번 주에 대한 주간 업데이트입니다."


            # 메일 생성

            message = MIMEMultipart()

            message['From'] = smtp_username

            message['To'] = email

            message['Subject'] = mail_subject


            # 메일 본문 추가

            message.attach(MIMEText(mail_body, 'plain'))


            # 메일 전송

            smtp.send_message(message)


# 매주 수요일 11:50 시에 메일 보내기

def Wednesday_email():

    now = datetime.now(pytz.timezone('Asia/Seoul'))

    if now.strftime("%A") == "Wednesday" and now.strftime("%H:%M") == "11:54":

        send_email()


schedule.every().minute.do(Wednesday_email)

while True:

    schedule.run_pending()

    time.sleep(1)






에러메세지들


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-13-41da5dfe0e1f> in <cell line: 62>()
     61 schedule.every().minute.do(Wednesday_email)
     62 while True:
---> 63     schedule.run_pending()
     64     time.sleep(1)


7 frames

/usr/local/lib/python3.10/dist-packages/schedule/__init__.py in run_pending()
    820     :data:`default scheduler instance <default_scheduler>`.
    821     """
--> 822     default_scheduler.run_pending()
    823 
    824 

/usr/local/lib/python3.10/dist-packages/schedule/__init__.py in run_pending(self)
     98         runnable_jobs = (job for job in self.jobs if job.should_run)
     99         for job in sorted(runnable_jobs):
--> 100             self._run_job(job)
    101 
    102     def run_all(self, delay_seconds: int = 0) -> None:

/usr/local/lib/python3.10/dist-packages/schedule/__init__.py in _run_job(self, job)
    170 
    171     def _run_job(self, job: "Job") -> None:
--> 172         ret = job.run()
    173         if isinstance(ret, CancelJob) or ret is CancelJob:
    174             self.cancel_job(job)

/usr/local/lib/python3.10/dist-packages/schedule/__init__.py in run(self)
    691 
    692         logger.debug("Running job %s", self)
--> 693         ret = self.job_func()
    694         self.last_run = datetime.datetime.now()
    695         self._schedule_next_run()

<ipython-input-13-41da5dfe0e1f> in Wednesday_email()
     57     now = datetime.now(pytz.timezone('Asia/Seoul'))
     58     if now.strftime("%A") == "Wednesday" and now.strftime("%H:%M") == "11:54":
---> 59         send_email()
     60 
     61 schedule.every().minute.do(Wednesday_email)

<ipython-input-13-41da5dfe0e1f> in send_email()
     51 
     52             # 메일 전송
---> 53             smtp.send_message(message)
     54 
     55 # 매주 수요일 11:50 시에 메일 보내기

/usr/lib/python3.10/smtplib.py in send_message(self, msg, from_addr, to_addrs, mail_options, rcpt_options)
    978             if international:
    979                 g = email.generator.BytesGenerator(
--> 980                     bytesmsg, policy=msg.policy.clone(utf8=True))
    981                 mail_options = (*mail_options, 'SMTPUTF8', 'BODY=8BITMIME')
    982             else:

/usr/lib/python3.10/email/_policybase.py in clone(self, **kw)
     70         for attr, value in kw.items():
     71             if not hasattr(self, attr):
---> 72                 raise TypeError(
     73                     "{!r} is an invalid keyword argument for {}".format(
     74                         attr, self.__class__.__name__))

TypeError: 'utf8' is an invalid keyword argument for Compat32



이렇게 뜨니 chatGPT가 시키는 대로 해도 안되고 뤼튼켜서 해도 또 같은 문제 발생하고 더 심하게 오류가 11개 뜨고 무한반복해서 못할거같네요


취소
 공유
취소
댓글 0
댓글 알림
나의얼굴