Python

smtplib.SMTPAuthenticationError: (534, b'5.7.9 Please log in with your web browser and then try again

summerorange 2022. 8. 30. 11:47
반응형

분명 어제와 같은 코드를 돌렸는데 오늘 돌리면 에러가 났다. 다음과 같음.

smtplib.SMTPAuthenticationError: (534, b'5.7.9 Please log in with your web browser and then try again. Learn more at\n5.7.9  https://support.google.com/mail/?p=WebLoginRequired 

신기한 건 같은 코드로 어젠 인증(authentication) 제대로 되었던 거. (구글님이 어젠 인증을 해주시고 오늘은 인증 안해주기로 마음 먹었단 얘긴데 도대체 왜?) 핳.

0) 다시 앱 비밀번호 발급을 받았다. ( 비밀번호 발급 받는 법은 지난 포스팅에 작성했다:) )

여기에 추가로 pop/IMAP 설정도 다시 해주었다.

1) Gmail - 설정(톱니바퀴) - 모든 설정 보기

2) 전달 및 POP/IMAP

에서 pop 다운로드의 상태는 모든 메일에서 pop 사용하기

imap 엑세스: IMAP 사용

으로 변경사항 저장!

하고 되면 좋겠지만 다시 에러...... 나서 추가 설정..

앱 비밀번호도 두 개 더 만들었다. 하나는 기타로 입력해서 비밀번호 받고, 나머지 하나는 메일로 입력해서 비밀번호 받고, 두 개 다 테스트.

지난 번 코드는 정말 간단하게,

connect = smtplib.SMTP("smtp.gmail.com", port=587)

connect.starttle()

connect.login(user='email@email.com', password='12345523432')

connect.sendmail(from_addr='my_email', to_addr='your_email', msg='Subject: Title\n\nBody contents of email')

connect.close()

였는데 connect 만들고 starttle() 넣기 이전에 하단의 두 코드를 추가해주었다.

connect = smtplib.SMTP("smtp.gmail.com", port=587)
connect.set_debuglevel(True)
connect.ehlo()

connect.starttle()
connect.login(user='email@email.com', password='12345523432')
connect.sendmail(from_addr='my_email', to_addr='your_email', msg='Subject: Title\n\nBody contents of email')
connect.close()

그럼 하단에 reply 내역이 붉은 글씨로 올라오는 걸 보고

종료 코드 0으로 메일이 보내진 것도 확인했다.

 

반응형