혁신을 이룹니다, 오딘박스(OdinBOX)

언제나 어디서나 오딘박스와 함께!

[Node.JS] Node.JS로 이메일을 보낼 수 있는 방법

간지뽕빨리턴님 2019. 12. 2. 10:26
반응형

 

 Node JS를 이용하여, 이메일 보내자 

Node.JS nodemailer Module

먼저 NodeMailer 모듈을 사용하려면, npm을 이용하여, 설치를 해야합니다.
혹여나, npm이 설치되지않은 분이라면, npm을 먼저 설치하고 오셔야합니다.
- 보통은 node.js 설치시 되어져있을겁니다.
npm(Node Package Manager/Modules)이란? Node.js 기반의 모듈 집합 저장소라고 생각하는게 편할 것같습니다.

정상적으로 설치가 되저여 있는지 확인하려면

$node -v를 입력하면, 현재 버전이 출력이 됩니다.

"npm install nodemailer"
입력 후 실행 합니다.

var nodemailer = require('nodemailer');


이메일을 이제 보내보도록 하겠습니다.
NodeMailer는 Gmail,Google,Yahoo등을 지원하고 있습니다.
혹시나, 이메일이 전송되지않는다면, "보안문제"일 확률이 높으므로 확인해주시기바랍니다.

var nodemailer = require('nodemailer'); 

var transporter = nodemailer.createTransport({ 
  service: 'gmail', 
  auth: { 
    user: '내 이메일 계정', 
    pass: '비밀번호' 
  } 
}); 

var mailOptions = { 
  from: '내 이메일 계정', 
  to: '보내는 이메일 계정', 
  subject: '제목', 
  text: '내용' 
}; 

transporter.sendMail(mailOptions, function(error, info){ 
  if (error) { 
    console.log(error); 
  } else { 
    console.log('보낸 이메일 : ' + info.response); 
  } 
}); 



위 소스를 보면, 보내는 사람이 한명밖에 안됩니다.
여러명에게 보내고 싶다면 어떻게 하는게 좋을까요 ?

/* 한명에게 보내고 싶을 때 */ 
  to: '보내는 이메일 계정', 
/* 여러명에게 보내고 싶을 때 */ 
  to: '보내는 이메일 계정1, 보내는 이메일 계정2', 
/* 간단한 방법이지만 ,로 구분해주시면 됩니다. */ 


현재 소스를 보시면 내용은 텍스트[TEXT]로만 보낼 수 있다고 되어져있습니다.
이 것을 조금만 바꾼다면 HTML로 이메일을 보낼 수 있습니다.

/* TEXT 내용 */ 
  text: '내용' 
/* HTML 내용 */ 

  html: '<h2>HTML로 보내는 방법~오딘박스</h2>

마무리

정말 많은 기능들이 있는 것 같습니다.
이렇게 하나하나 알고 가닌깐 재미있는 내용인 것 같습니다.

해당 내용은 'w3schools'를 보면서, 흥미있는 내용을 정리하고 있습니다.