반응형
Nodemailer 모듈을 사용하면 Nodejs에서 이메일 전송 기능을 구현할 수 있다.
우선 Nodemailer를 설치하자.
npm i nodemailer
Gmail을 사용하면 하루 500통의 메일까지 전송이 가능하다고 한다.
사용을 위해서는 설정이 필요하다.
www.google.com/settings/security/lesssecureapps
위 주소로 접속하여, 보안 수준이 낮은 앱의 액세스를 허용해 준다.
Node에서 메일 전송 기능을 구현한다.
router/mail.js
const express = require('express');
const router = express.Router();
const nodemailer = require('nodemailer');
router.post('/send', function(req, res, next){
//메일 전송 SMTP 설정
let transporter = nodemailer.createTransport({
service: 'gmail',
host: "smtp.email.com",
port: 587,
secure: false,
auth: {
user: "user@gmail.com", //gmail 주소
pass: "password" //gmail 계정 password
}
});
//메일 내용 설정
let mail = {
from: req.body.email, //발송인 메일 주소
to: "user@gmail.com", //수신자 메일 주소
subject: "Message title", //메일 제목
text: req.body.message //메일 내용
};
//메일 전송
transporter.sendMail(mail, function(error, info){
if(error){
res.send(error)
}else{
console.log('메일이 발송되었습니다. ',info.messageId );
res.redirect('/');
}
});
})
module.exports = router ;
실제 전송 테스트를 해 본다
gmail에 접속하여 메일이 전송되었는지 확인한다.
메일이 성공적으로 전송되었다.
반응형
'개발 > Node.Js' 카테고리의 다른 글
카페24 nodejs 가입부터 git 배포까지 총정리 (0) | 2022.11.08 |
---|---|
PSSecurityException 스크립트 보안 오류 해결 방법 (0) | 2022.10.29 |
Node 자동재시작 Supervisor 설치 (0) | 2020.12.31 |
node express bootstrap 프로젝트 만들기 (0) | 2020.12.31 |
Node / Vue 현재시간 구하기 (0) | 2020.10.28 |
댓글