본문 바로가기
IT/Python

[Python] Gmail 을 이용하여 메일 발송 시 Error 처리 - Gmail 앱 비밀번호 설정

by 초록술 2020. 5. 15.
반응형

이 전 포스팅에서 Python으로 메일 폭탄(Mail Bomber) 테스트를 진행하였습니다.

 

[Python] E-Mail Send - Email Bomber Test

 

[Python] E-Mail Send - Email Bomber Test

스팸(Spam) 테스트를 위해 E-mail Bomb(이메일 폭탄)을 제작하게 되었습니다. 다음은 E-Mail bomber Python 프로그래밍 예제입니다. (절대, 악용하지 마십시오) 해킹 도구만이 아닌 Python 프로그램 구현 시 E-

greensul.tistory.com

하지만 상용 메일인 Gmail을 이용하여 메일을 발송 시 몇 가지 에러를 확인하였습니다.

동일한 에러가 발생 시 참고 할 수 있도록 Error 처리한 기록을 남깁니다.

 

# WinError 10060

[WinError 10060] 연결된 구성원으로부터 응답이 없어 연결하지 못했거나, 호스트로부터 응답이 없어 연결이 끊어졌습니다

해당 에러는 gmail 서버 값을 잘못 입력하여 발생하였습니다.

gmail을 통해 메일을 발송 시 smtp.gmail.com 를 통해 인증되어야 합니다.

따라서 E-Mail Server에 smtp.gmail.com 을 입력하면 됩니다.

 

 

# SMTPAuthenticationError

상용 메일인 Gmail로 테스트 시 smtp 로그인 단계에서 에러가 발생함을 확인하였습니다.

 

smtplib.SMTPAuthenticationError: (534, b'5.7.9 Application-specific password required. Learn more at\n5.7.9  https://support.google.com/mail/?p=InvalidSecondFactor x62sm1051839pfc.46 - gsmtp')

 

일반적으로 사용하는 Gmail 계정의 비밀번호를 이용하여 메일을 발송하면 위의 에러가 발생합니다.

Gmail의 경우 애플리케이션 비밀번호를 따로 관리합니다. 해당 애플리케이션의 비밀번호를 생성해야 합니다.

아래 Gmail APP 계정 설정을 통해 생성된 비밀 번호를 입력해야 합니다.

 

# Gmail APP 계정 설정

구글 계정 설정 페이지에 접속합니다.

https://myaccount.google.com/

 

Google 계정

Google 계정을 사용하면 데이터와 개인정보를 안전하게 보호할 수 있는 설정 및 도구에 빠르게 액세스할 수 있으며, 내 정보가 Google 서비스 맞춤설정에 사용되는 방법을 선택할 수 있습니다.

myaccount.google.com

보안 메뉴에서 앱 비밀번호 설정을 클릭합니다.

(앱 비밀번호는 바로 위의 2단계 인증을 사용해야 합니다.)

메일과 Windows 컴퓨터를 선택하고 생성을 누릅니다.

 

생성된 비밀 번호를 확인합니다.

Sender E-Mail Password에 앱 비밀번호를 입력하면 메일 발송이 성공합니다.

 

 

# Gmail Test

메일 발송이 성공하였습니다.

받은 편지함에서 Python을 통해 발송된 메일을 확인하였습니다.

 

 

지금까지 Python을 통해 Gmail 서버로 메일 발송 오류 처리와 메일 발송에 대해 알아보았습니다.

 

감사합니다.

반응형

댓글