nodemailer 사용하여 이메일 인증 번호 보내보자!
2단계 인증 사용하기
제일 하단에 위치한 앱 비밀번호를 생성해준다.
생성된 앱 비밀번호(16자리)를 잘 복사해둔다.
npm install nodemailer dotenv
MAILS_EMAIL='보내는 사람의 메일 주소'
MAILS_PWD='생성된 앱 비밀번호 16자리(띄어쓰기는 빼줘야 함)'
const nodemailer = require("nodemailer");
const dotenv = require("dotenv").config();
const transporter = nodemailer.createTransport({
service: "gmail", // gmail 사용
auth: {
user: process.env.MAILS_EMAIL, // env 파일 내 보내는 사람의 메일 주소
pass: process.env.MAILS_PWD, // env 파일 내 생성된 앱 비밀번호 16자리
},
});
// 랜덤 인증번호 생성 함수
const randomStrFunc = (num) => {
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
let result = "";
const randomMaxLength = characters.length;
for (let i = 0; i < num; i++) {
result += characters.charAt(Math.floor(Math.random() * randomMaxLength));
}
return result;
};
let randomStr = randomStrFunc(10);
async function main() {
await transporter.sendMail({
from: process.env.MAILS_EMAIL, // env 파일 내 보내는 사람의 메일 주소
to: "sooyoung.choi.dev@gmail.com", // 받는 사람
subject: "👋 2거주세요 가입 인증번호입니다.", // 제목
text: `인증번호는 ${randomStr} 입니다.`, // 메일 내용
// html: "<b>Hello world?</b>", // html 보내줄 수도 있음
});
}
main().catch(console.error);
// 실행
node app.js
아이고 늦은 시간에 열심히 공부하시네요~ 탄력 받아 갑니다~~