LJC.LOG
July 18, 2024

nodemailer 로 Gmail SMTP 인증번호 보내기

1) nodemailer 설치 및 세팅방법

웹페이지 회원가입 기능을 구현하면서 이메일 인증 기능을 추가해 보았습니다.

Node.js에서는 nodemailer 패키지를 사용하여 이메일 전송이 가능합니다. 아래의 단계를 따라 설정해보겠습니다.

먼저 nodemailer 패키지를 설치합니다

> npm install nodemailer

그런 다음 메일 전송에 사용할 Gmail 계정을 생성하고 다음 설정을 진행합니다

  • Gmail 설정: Gmail 계정에 로그인하여 우측 상단의 톱니바퀴 아이콘을 클릭하고 "모든 설정 보기"를 선택합니다.
  • IMAP 사용 설정: "전달 및 POP/IMAP" 탭에서 "IMAP 사용"을 선택하고 저장합니다.
  • 앱 비밀번호 생성: 2단계 인증을 설정한 후 앱 비밀번호 생성 페이지로 이동합니다. 앱 이름을 입력하고 생성된 비밀번호를 메모합니다. 이 비밀번호는 나중에 Nodemailer 설정에 사용됩니다.

> 설정관련페이지

앱이름을 편하신대로 입력해주시면 비밀번호가 나오는데 해당비밀번호를 메모해두세요. ( 노출되면 해당메일 로그인이 가능해지니 노출되면 안됩니다)

그럼 세팅은 끝났고 이제 소스에만 적용해주면 됩니다.

2) 소스적용

이제 Node.js에서 Gmail SMTP를 통해 이메일을 보내는 코드를 작성해 보겠습니다.

1. Nodemailer 설정

먼저 nodemailer를 설정합니다:

위 코드에서 user에는 Gmail 주소를, pass에는 생성한 앱 비밀번호를 입력합니다.

2.API호출

이제 클라이언트로부터 받은 이메일과 인증번호를 사용하여 이메일을 전송하는 API 엔드포인트를 설정합니다:

위 코드에서 email과 checkNumber를 클라이언트로부터 받아와 이메일을 전송하는 sendEmail 함수를 호출합니다.

3. 이메일 전송 함수

이제 이메일을 실제로 전송하는 sendEmail 함수를 작성합니다.

위 코드에서 from에는 발신자 이메일 주소를 입력합니다.

위와 같이 설정 후 메일은 보내보면?

photo

메일이 잘 전송되는것을 확인할 수 있습니다.

이제 이 설정을 통해 회원가입 과정에서 이메일 인증 기능을 구현할 수 있습니다. 진행하다가 궁금하신 점 있다면 댓글 남겨주세요.

읽어주셔서 감사합니다. 😊

Related Posts