본문 바로가기
매일코딩/Node.js

nodemailer 메일 보내기 & 랜덤 비밀번호

by 인생여희 2018. 10. 15.
반응형

//관련 모듈 설치
//npm i nodemailer
//npm i nodemailer-smtp-transport





var nodemailer = require('nodemailer');
//smtp 서버를 사용하기 위한 모듈이다.
var smtpTransport = require('nodemailer-smtp-transport');



//아이디가 존재할 경우
//숫자 + 문자 + 특수문자 새로운 비밀번호 생성하고
var arr = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,~,`,!,@,#,$,%,^,&,*,(,),-,+,|,_,=,\,[,],{,},<,>,?,/,.,;".split(",");
var randomPw = createCode(arr, 10);


//비밀번호 랜덤 함수
function createCode(objArr, iLength) {
var arr = objArr;
var randomStr = "";
for (var j=0; j<iLength; j++) {
randomStr += arr[Math.floor(Math.random()*arr.length)];
}
return randomStr
}




//이메일 발송함수
function sendNewPwFunc(email,pw){

var transporter = nodemailer.createTransport(smtpTransport({
service: 'gmail',
host: 'smtp.gmail.com',
auth: {
user: 'thanksman1211@gmail.com',
pass: 'project100$1'
}
}));
var mailOptions = {
from: 'thanksman1211@gmail.com',
to: email,
subject: 'Sending Email using Node.js[nodemailer]',
html:'<h1>00에서 새로운 비밀번호를 보내드립니다.~~~~</h1> <h2>' + pw + '</h2>'
};
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
return false;
} else {
console.log('Email sent: ' + info.response);
console.log("새로운 비밀번호가 발송되었습니다.");
return true;
}
});

return true;
}




반응형

댓글