본문 바로가기

STUDY/Node.js

Node.js | nodemailer ejs사용하기 (이메일 인증번호)

nodemailer 설치 및 기본 사용법은 이전 글을 참고하세요.

1. ejs 설치

$ npm install ejs
const ejs = require('ejs');

 

2. ejs파일 생성 및 코드작성

authCode에 생성된 인증번호가 들어갑니다.

<html>
    <body>
        <div>
            <p>회원 가입을 위한 인증번호 입니다.</p>
            <p>아래의 인증 번호를 입력하여 인증을 완료해주세요.</p>
            <h2><%= authCode %></h2>
        </div>
    </body>
</html>

 

3. ejs 렌더

이 과정에서 ejs파일의 authCode에 생성한 인증번호가 대입되고, html코드로 변환됩니다.

// 숫자
let authNum = Math.random().toString().substr(2,6);

let emailTemplete;
ejs.renderFile('./src/resources/users/emailtemplete.ejs', {authCode : authNum}, function (err, data) {
  if(err){console.log('ejs.renderFile err')}
  emailTemplete = data;
});

 

4. 이메일 전송

const mailOptions = {
  from: '전송 이메일',
  to: '받는 이메일',
  subject: '메일 제목',
  html : emailTemplete
};

// 실제 메일 전송되는 부분
smtpTransport.sendMail(mailOptions, (error, info) =>{
  if(error){
  	res.json({msg:'err'});
  }else{
  	res.json({msg:'sucess'});
  }
  smtpTransport.close();
});

 

 

 

실제 전송받은 메일