node.js로 메일보내기(feat. nodemailer)

Written on September 16, 2019

요즘 많은 앱서비스들이 비밀번호 찾기, 가입 인증 등을 이메일 전송을 활용하여 진행한다. 그래서 진행하는 프로젝트에서 이메일로 임시 비밀번호를 발송하는 걸 시도해 보았다. 구글링을 해보니, node.js에서 메일 전송을 쉽게 할 수 있게 해주는 NODEMAILER 모듈이 있었다.

let transporter = nodemailer.createTransport({
  service: "gmail",
  auth: {
    user: // gmail 계정 아이디를 입력
    pass: // gmail 계정의 비밀번호를 입력
  }
});

let mailOptions = {
  from: // 발송 메일 주소 (위에서 작성한 gmail 계정 아이디)
  to: // 수신 메일 주소
  subject: "임시 비밀번호 안내", // 제목
  html: `<p>${email} 계정의 임시 비밀번호는 <strong>${tempPw}<strong>입니다.</p>` // html body
};

transporter.sendMail(mailOptions, function(error, info) {
  if (error) {
    console.log(error);
    next(error);
  } else {
    console.log("Email sent: " + info.response);
    return res.status(200).json({ success: true });
  }
});

html 뿐만 아니라 플레인 text로도 보낼 수 있는 데, mailOptions에서 key를 text로하여 string 값을 명시하면 된다.

👩🏻‍💻 배우는 것을 즐기는 프론트엔드 개발자 입니다
부족한 블로그에 방문해 주셔서 감사합니다 🙇🏻‍♀️

in the process of becoming the best version of myself