Nodemailer 패키지를 통해 비밀번호 변경 시 이메일 인증을 할 수 있는 기능을 추가했다.
구글링을 통해 몇가지 레퍼런스를 찾았지만 계속 실패하다가 결국 해결했다. Gmail로 메일을 보내는데 구글에서 설정을 몇가지 바꿔줘야했다. 그래도 결국 방법을 찾아내 뿌듯했다.
자꾸 새로운 기능을 해보는데 초첨을 맞추는데 조금 더 좋은 코드를 짜고 하나의 기능도 여러 질문을 하며 깊게 팔 필요가 있다고 생각한다.
node.js로 메일 보내기
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'email',
pass: 'passwoard',
},
});
router.post('/changePw', (req, res, next) => {
let text = Math.floor(Math.random() * 10000);
transporter
.sendMail({
from: `넥슬라이스 <neckslice@gmail.com>`,
to: 'wkejrdldls@gmail.com',
subject: '[넥슬라이스] 인증번호가 도착했습니다.',
text: `${text}`,
html: `
<div style="text-align: center;">
<h3 style="color: #FA5882">인증번호</h3>
<br />
<p>${text}</p>
</div>
`,
})
.then((send) => res.json(send))
.catch((err) => next(err));
});