내일배움캠프 TIL

프로젝트 트러블슈팅 본캠프 TIL 01/03

parkcw0325 2025. 1. 3. 20:52

이번 프로젝트를 진행하면서 겪었던 트러블 슈팅에 대한 기록이다.

 

1. 앱비밀번호 설정

 

먼저 nodemailer를 사용하기위해, .env파일에 비밀번호를 설정할때 사용할 이메일과 비밀번호 정보를 저장하여야 한다.

 

이런식으로 저장하고 

 

사용하는 js 파일에 발신자의 정보를 만든다.이제 해당 로직을 이용하여 메일을 보냈는데 비밀번호가 올바르지 않다는 에러가 발생하였다. 분명 사용하는 비밀번호이고, 틀리지 않았는데 에러가 발생하여 여러 문서들을 찾아보았다.

알고보니 nodemailer같이 보안 수준이 낮은 어플리케이션을 사용할 때는 , 앱비밀번호를 사용해야 보안성이 올라가고 gamil프로그램과 엑세스가 가능해진다! 따라서 

 

이렇게 2차 인증후에 앱 비밀번호를 발급받고 이런식으로 .env 파일을 수정하여야 한다.  

후에 이메일을 발송하면 

 

이러한 형식으로 이메일이 잘 도착하게 된다 !!

 

2. 스키마 모델 수정

 

그리고 이제 모델을 수정하여야하는데

 

이메일 인증을 위해서 Users 모델에 이메일 인증컬럼과 임시코드 컬럼을 만드는 과정에 문제가 발생하였다.

임시코드 컬럼에 string 값을 설정하여 푸시하게 되면 이미 만들어진 데이터값이 null로 설정되기 때문에

오류가 발생했었다.

 

따라서 해결 방법으로 

string값에 ? 를 추가하여 푸시를 해서 null값으로 설정되어도 오류가 발생하지 않게 수정하였다 !