Nodemailer를 사용하여 Node.js에서 이메일을 보내는 방법

안녕하세요 여러분, 이 글에서는 Node.js에서 이메일을 보내는 방법을 배우겠습니다. 이것의 가장 큰 장점은 API가 필요하지 않다는 것입니다.
Nodemailer라는 npm 패키지만 있으면 됩니다. 코딩을 시작합시다.

이제 새 폴더 node-mail을 만들고 해당 디렉토리에서 터미널을 열고 명령을 작성하십시오.

npm init



주어진 질문에 Enter 키를 누르십시오. 이제 필요한 패키지를 설치하십시오.

npm install dotenv nodemailer



Nodemailer는 메일을 보내는 데 사용되며 Dotenv는 .env 파일에서 process.env로 환경 변수를 로드하는 제로 의존성 모듈입니다.

이제 index.js라는 새 파일을 만들고 패키지를 요구합니다.

require('dotenv').config();
const mailer = require("nodemailer");

index.js에서 body라는 새 변수 개체를 만들고 몇 줄의 코드를 작성합니다.

let body ={
    from: 'your mail-id',
    to: 'recipient mail-id',
    subject: 'This is subject',
    html: '<h2>The html content</h2><br>',
}

이제 서비스 및 인증을 보유하는 전송자 객체를 생성합니다.

const transporter =   mailer.createTransport({
    service: 'gmail',
    auth:{
        user: process.env.EMAIL_USER,
        pass : process.env.EMAIL_PASS
    }
})



EMAIL_USER = your gmail-id
EMAIL_PASS = password

트랜스포터 객체를 생성한 후에는 verify(callback)을 사용하여 트랜스포터 구성을 확인할 수 있습니다.

// verify connection configuration
transporter.verify(function(error, success) {
  if (error) {
    console.log(error);
  } else {
    console.log("Server is ready to take our messages");
  }
});

당신은 단지 process.env에 대해 생각하고 있습니다. .env라는 새 파일을 만들고 아래에 주어진 코드 몇 줄을 입력합니다.

따라서 마지막 변경 사항 index.js는 정의된 전송 객체로 메일을 보냅니다.

transporter.sendMail(body,(err, result) =>{
    if (err) {
        console.log(err);
        return false
    }
    console.log(result);
    console.log("email sent");
})

전체 index.js 코드

require('dotenv').config();
const mailer = require("nodemailer");
let body ={
    from: 'your mail-id',
    to: 'recipient mail-id',
    subject: 'This is subject',
    html: '<h2>The html content</h2><br>',
}

const transporter =   mailer.createTransport({
    service: 'gmail',
    auth:{
        user: process.env.EMAIL_USER,
        pass : process.env.EMAIL_PASS
    }
})

transporter.verify(function(error, success) {
  if (error) {
    console.log(error);
  } else {
    console.log("Server is ready to take our messages");
  }
});

transporter.sendMail(body,(err, result) =>{
    if (err) {
        console.log(err);
        return false
    }
    console.log(result);
    console.log("email sent");
})


이제 코드를 보낼 준비가 되었지만 한 가지 작은 작업이 남았습니다. 이 설정을 활성화해야 합니다LINK. 이것을 업데이트하지 않으면 메일을 보낼 수 없습니다.



이제 수신자에게 이메일을 보낼 차례입니다. 터미널을 열고 명령을 작성하십시오

node index.js



성공적으로 작동하기를 바랍니다. 오류가 발생하면 알려주세요.

좋은 웹페이지 즐겨찾기