상세 컨텐츠

본문 제목

[Node.JS] Nodemailer를 활용하여 이메일 인증 발송하기

프로그래밍

by 경밤 2019. 9. 15. 20:16

본문

반응형

목표 : node.js의 이메일 라이브러리인 Nodemailer를 활용하여서 메일을 발송할수있다.

 

1. Nodemailer 설치

1

npm install nodemailer

 

2. Nodemailer 

먼저 Nodemailer를 import해주고, 기본적인 트랜스포터를 작성해주자.

1
2
3
4
5
6
7
8
9
10
var nodemailer = require('nodemailer');
 
let transporter = nodemailer.createTransport({
    service: "서비스메일 ex : gmail, naver",
    auth: {
        user: '이메일',
        pass: '이메일 계정 비밀번호'
    }
});
 
cs

transporter의 sendMail 함수로 메일을 보낼수있다. 그러기 위해서는 메일 옵션을 적어줘야하는데, 아래와 같이 적으면 된다.

1
2
3
4
5
6
7
let mailOptions = {
    from: "보내는데 사용할 이메일",
    to: "받을 이메일",
    subject: "이메일 제목",
    html: "html data"
    
};
cs

html 대신에 text를 써도 된다. 

그다음, 아까 만든 트랜스포터의 sendMail함수의 첫번째 인자에 옵션을 넣고 메일을 보내자.

1
2
3
4
5
6
7
8
9
transporter.sendMail(mailOptions, function (err, info) {
    if (err) {
        console.log(err);
        res.send({ data: false });
    } else {
        //send okay
        res.send({ data: true });
    }
});
cs

그렇게 보낼려는데, https://stackoverflow.com/questions/32447210/node-js-nodemailer-gmail-error 이 글 처럼 nodemailer 접근 에러가 뜰수있다. 그럴땐 구글 계정의 보안수준이 낮은 앱을 허용해야하는데, 아래 링크에서 할 수 있다.

https://myaccount.google.com/lesssecureapps 사용함으로 바꿔주자.

반응형

관련글 더보기