글 목록

최신 글과 검색 결과
DEVELOPMENT/Clientside

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

간지뽕빨리턴님

이 글의 목차

    반응형

     

     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'를 보면서, 흥미있는 내용을 정리하고 있습니다.