프로그래밍/JS, Node.js

[Node.js] Nodemailer로 Gmail 연동하여 이메일 보내기

Lou Park 2018. 10. 3. 14:20

1. NPM 다운로드

먼저 NPM을 이용해 nodemailer와 nodemailer-smtp-transport 모듈을 다운받는다.

1
npm i nodemailer nodemailer-smtp-transport -S
cs



2. 구글 계정 설정

그리고 자신이 사용할 구글 아이디로 구글에 접속 후에

https://myaccount.google.com/lesssecureapps 에 들어가서 활성화,

https://accounts.google.com/DisplayUnlockCaptcha 에 들어가서도 활성화를 한다.


3. 코드 작성

설정 후에 다음과 같이 코드를 작성하면 메일이 날아온다.

코드 출처: https://stackoverflow.com/questions/19877246/nodemailer-with-gmail-and-nodejs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');
 
var transporter = nodemailer.createTransport(smtpTransport({
  service: 'gmail',
  host: 'smtp.gmail.com',
  auth: {
    user: 'somerealemail@gmail.com',
    pass: 'realpasswordforaboveaccount'
  }
}));
 
var mailOptions = {
  from: 'somerealemail@gmail.com',
  to: 'friendsgmailacc@gmail.com',
  subject: 'Sending Email using Node.js[nodemailer]',
  text: 'That was easy!'
};
 
transporter.sendMail(mailOptions, function(error, info){
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }
});  
cs


4. 결과

아래는 직접 시연해본 사진!

mailOptions.text 대신 mailOptions.html에 html 코드를 입력하면 

진하게 하기, 줄바꿈등 효과를 줄 수 있다.