nodemailerNode.js에서 사용하는 이메일 전송 라이브러리이다. 이번 문서에서는 이메일로 인증코드를 보내 클라이언트에서 해당 인증 코드를 입력하면 회원가입이 계속해서 진행되는 예제를 다룬다. 구현과정
1. 기본 셋업먼저 nodemailer 라이브러리와 dotenv, ejs를 설치해준다. dotenv는 node 프로젝트에서 전역적으로 사용되는 변수를 정의할 수 있는 라이브러리이다. 여기에는 보통 중요 정보(비밀번호, 키값) 등이 저장되어 깃허브에서 추적하지 않게 .gitignore에 등록해야 한다. 그리고 ejs는 이메일로 전송될 내용이 담겨있다.
그리고 메일을 전송하는데에 사용할 계정에 대한 정보를 수정한다. 이번 문서에서는 gmail을 이용하여 전송할 것이다. gmail->계정관리->보안->보안수준이 낮은 앱의 엑세스를 허용한다. 2. 구현프로젝트 기본 폴더에 .env 폴더를 생성하여 다음과 같이 작성한다.
그리고 프로젝트 기본 폴더에서 template 폴더를 생성하고 그 안에 authMail.ejs라는 파일을 생성하여 다음과 같이 작성한다.
그다음은 auth.js라는 이름의 라우터를 작성한다.
위 코드를 간단하게 설명하면 랜덤한 번호를 생성하여 위에서 정의한 템플릿의 내용으로 메일을 보낸다. 메일이 성공적으로 보내지면 클라이언트 측으로 인증번호를 전송한다. 이후 클라이언트 측에서 받은 인증번호와 유저가 입력한 인증번호가 일치한다면 계속해서 회원가입 절차가 진행된다. 결과 화면크리스마스여고괴담221219아바타2주휴수당올리브영 전체 인기글 l 안내 12/19 19:12 ~ 12/19 19:14 기준 1 ~ 10위 11 ~ 20위
1익명연예 미국익 ditto 이거밖에 생각 안남 17 2익명잡담 딸내미 밥상 보고 김치 찾는 케이맘 9 3인티포털 샤이니 키 인스타그램 업데이트 4 4익명잡담 의사가 서류 떼주기 싫다는데 신고하면 먹힘? 31 5익명잡담 핫플 해산물 '아예' 안 먹는다고 10년째 얘기하고 있는데 50 6인티포털 눈오리로 혼자 놀다가 딩초들이랑 노는데 나 대장됐음 38 7익명연예 뉴진스 뮤비랑 가사 공식적인 해석은 이거야 4 8익명연예 뉴진스가 경쟁해야하는 어떤가수가 너무 쎄다... 4 9인티포털 폭락한 한우 가격 근황.jpg 3 10인티포털 섹스가 왜 일탈이야?.txt 20 1 ~ 10위 11 ~ 20위
익명잡담 잡담의 인기글 l 안내 12/19 19:12 ~ 12/19 19:14 기준 1 ~ 10위 11 ~ 20위
9 1 딸내미 밥상 보고 김치 찾는 케이맘9 2 의사가 서류 떼주기 싫다는데 신고하면 먹힘?31 2 3 해산물 '아예' 안 먹는다고 10년째 얘기하고 있는데50 1 4 순천향 의예과 많이 쎄??19
1 5 연세우유 옥수수생크림빵 단종 전에 겟11 13 6 급상승 혹시 '양기 충전'한다라는 표현이 좀 야하고 저급한 표현이야?14 2 7 근데 ㄹㅇ 학점 2.8 출석하고 할거 다하면13 1 8 카페에 30분째인데 30분동안 같은 가수 노래만 나오거든9 4 9 여자면 애교있고 살가워야돼??18 2 10 남자애들이 약간 조심스럽게 대하는 애들 특징이 뭐야??8 1 ~ 10위 11 ~ 20위 이메일 문의 l 개인정보취급방침 l 사업자정보확인 l 권리 침해 l 광고/제휴 l 채용 l 모바일 (주)인스티즈
l 서울시 강남구 논현로94길 25-8, 3층 l 사업자등록번호 : 655-86-00876 l 통신판매업신고 : 2017-서울강남-03991 l 대표 : 김준혁 |