STUDY/Node.js
Node.js | nodemailer ejs사용하기 (이메일 인증번호)
개미606
2020. 2. 4. 11:12
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();
});