Django 내 SMTP를 활용한 이메일 발송 기능을 사용하고 있었는 데, 어느 날부터 발송이 안 되었다.  


 물론 단순히 진짜 계정 정보랑 비밀번호가 안 맞아서 생기는 문제는 아닌 걸 확인했다고 가정하고 쓰겠다. 이 문제가 왜 생겼나 설명하기 전에, 아마 90% 이상의 사람들은 파이썬을 이용하여 gmail을 보낼 수 있도록 세팅을 하다가, 이 옵션을 만졌을 것이다.

 

 

이 옵션을 켜야 파이썬 안에서 구글 이메일/비밀번호만 가지고 로그인해서 이메일을 보낼 수 있었다. 그런데, 이 옵션이 흥미로운 게 무려 2단계 인증을 꺼야 활성화가 되고, 구글에서도 사용을 권장하지 않는 꺼림칙한 옵션이다. 그래서 원인은 간단하다.

 

 

 

이 옵션이 22년 5월 30일자로 막혔기 때문이다. 이메일이랑 비번 가지고 접속하는 행위가 안 통한다.

 

 

그러면 어떻게 해야 하느냐? 안타깝게도 이 '보안 수준이 낮은 앱 액세스'라는 방법의 대안을 설명한 글은 쉽게 눈에 띄지 않았다. 약간의 구글링 끝 방법을 찾을 수 있었다.

https://levelup.gitconnected.com/an-alternative-way-to-send-emails-in-python-5630a7efbe84

 

An Alternative Way to Send Emails in Python

Stop using your Google password to programmatically log in and send emails in Python.

levelup.gitconnected.com

 

 이 방법에 따르면, 우선 계정에 2단계 인증(SMS 인증 등등)을 건다. 그러면, 

 

 

 이제 보안 탭에서 '앱 비밀번호' 메뉴가 눈에 띌 것이다.

 

앱 선택에선 '기타'를 고르고, 이름은 원하는 거 아무거나 입력한다. 사실 이 부분은 뭘 선택하든 크게 상관 없어 보이긴 하는데, 그래도 '메일' '유튜브' 이런 이름보단 좀 더 명확한 이름이 나을 것 같다.

 

 

 

 그러면 이제 여기 앱 비밀번호 16글자가 나온다. 이제 이걸 기존 비밀번호 대용으로 쓰면 된다.

 

 

 

 이게 끝이다.

생각보다 엄청 간단한데, 구글의 안내 페이지에서 그냥 옵션을 막기만 하고 이걸 제대로 설명해주지 않아서 당황스러웠다. ㅡㅡ;

 

 

+ Recent posts