반응형
//관련 모듈 설치
//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;
}
반응형
'매일코딩 > Node.js ' 카테고리의 다른 글
node js data object 만들기 (0) | 2018.10.15 |
---|---|
[node js] 성경 db 연동 (3) | 2018.06.14 |
[node js] mysql 연동해서 파일 전송 (3) | 2018.06.13 |
[node js] mysql 게시판 구현 (1482) | 2018.06.12 |
[node js] 자바스크립트 페이지이동 & 뒤로 가기 (0) | 2017.06.15 |
댓글