커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
4-5 이메일 전송 테스트 에러와 관련해서
[왕초보] ChatGPT 300% 활용하기 v0
4주차
북마크
김*재
댓글
3
추천
0
조회수
13
조회수
13
답변 완료

선생님께서 주신 코드와는 별개 문제로 구글의 G-mail 계정에서 앱비밀번호 설정을 어떻게 해야하는지 모르겠습니다.

2단계 인증을 이미 해놓은 상태인데, 거기서 아무리 찾아봐도 앱비밀번호 설정하는 란이 어디 있는지 모르겠습니다.

그래서 혹시나 하는 마음에 테스트를 위해 새계정을 만들어서 했는데도 보이지 않는데, 설정 방법을 알려주시면 좋을 것 같습니다.

아울러 구글 계정이 안 되는 동안 네이버 계정으로도 시도를 했는데, 계속 에러가 나서 어떻게 해야하는지 궁금합니다.



작성한 코드 및 에러 메세지

import openpyxl

import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart


# Naver SMTP 서버 설정

smtp_server = 'smtp.naver.com'

smtp_port = 465 #587로 변경했는데도 안됩니다.

smtp_username = '아이디@naver.com' #실제 아이디 사용(여기선 공개자료라서 아이디라고 적어 놓았을 뿐입니다.)

smtp_password = '비밀번호' #실사용 이메일 비밀번호(Naver에서 SMTP설정할 때 제 비밀번호로 해놨습니다.)


# 메일 제목, 본문 내용 등 설정

mail_subject = '테스트'

mail_body = '이것도 테스트'


# Excel 파일에서 이름과 이메일 추출

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

ws = wb['test1']


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)


# naver 서버 연결 및 메일 전송

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):

        # 메일 생성

        message = MIMEMultipart()

        message['From'] = smtp_username

        message['To'] = email

        message['Subject'] = mail_subject


        # 메일 본문 추가

        message.attach(MIMEText(mail_body))


        # 메일 전송

        smtp.send_message(message)


에러의 경우에는


SMTPServerDisconnected                    Traceback (most recent call last)
<ipython-input-30-26dd56127ec1> in <cell line: 30>()
     28 
     29 # Naver 서버 연결 및 메일 전송
---> 30 with smtplib.SMTP(smtp_server, smtp_port) as smtp:
     31     smtp.starttls()
     32     smtp.login(smtp_username, smtp_password)


2 frames

/usr/lib/python3.10/smtplib.py in getreply(self)
    403             if not line:
    404                 self.close()
--> 405                 raise SMTPServerDisconnected("Connection unexpectedly closed")
    406             if self.debuglevel > 0:
    407                 self._print_debug('reply:', repr(line))

SMTPServerDisconnected: Connection unexpectedly closed


위와 같습니다.

바쁘시겠지만 답변 부탁드립니다.

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