Email-API 사용해보기

SSAD·2023년 2월 14일
0

BackEnd

목록 보기
16/44
post-custom-banner

Nodemailer

npm : Nodemailer
Nodemailer 공식 홈페이지

  • 이메일 전송을 위해 Node.js 애플리케이션에서 쉽게 메일을 전송할 수 있도록 도와주는 모듈

  • Nodemailer 외에도 다양한 라이브러리 존재

절차

  1. Google 계정 로그인

  2. Google 계정 설정 페이지 이동

  3. 보안 탭 2단계 인증 활성화

  4. 앱 비밀번호 발급

  5. Nodemailer 설치

yarn add nodemailer
  1. 공식 홈페이지 예제 확인

  2. 코드 작성


// const nodemailer = require("nodemailer");
import nodemailer from "nodemailer";
 
// async..await is not allowed in global scope, must use a wrapper
// create reusable transporter object using the default SMTP transport
//  let transporter = nodemailer.createTransport({
//    host: "smtp.ethereal.email",
//    port: 587,
//    secure: false, // true for 465, false for other ports
//    auth: {
//      user: testAccount.user, // generated ethereal user
//      pass: testAccount.pass, // generated ethereal password
//    },
//  });

const transporter = nodemailer.createTransport({
	service: "gmail",
  	auth: {
    	user: GOOGLE_MAIL_AUTH_ID,
      	pass: GOOGLE_MAIL_AUTH_PW,
    }
})

// send mail with defined transport object
//  let info = await transporter.sendMail({
//    from: '"Fred Foo 👻" <foo@example.com>', // sender address
//    to: "bar@example.com, baz@example.com", // list of receivers
//    subject: "Hello ✔", // Subject line
//    text: "Hello world?", // plain text body
//    html: "<b>Hello world?</b>", // html body
//  });

const info = await transporter.sendMail({
	from: GOOGLE_MAIL_SENDER,
  	to: email,
  	subject: "subject line",
  	text: "plain text body",
  	html: "<div>hello world</div>"
})

//console.log("Message sent: %s", info.messageId);
// Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com>

// Preview only available when sending through an Ethereal account
//console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info));
// Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou...
profile
learn !
post-custom-banner

0개의 댓글