-
[node] nodemailer를 이용해 메일 전송 하기Backend/NodeJS 2020. 4. 13. 09:39
node.js에서 메일 전송 시스템을 구축해보자.
사실 시스템까진 아니고,, 회원 비밀번호 초기화 기능을 목적으로 사용할 예정이다.
node.js에선 nodemailer 모듈을 이용하면
단 코드 몇줄로 쉽게 기능을 구현 할 수 있다.
먼저 모듈을 설치하자.
npm install --save nodemailer
본인이 원하는 위치에 아래와 같은 코드를 작성하고 실행 하면 끝..
const nodemailer = require(`nodemailer`); // nodemailer transport 생성 const transporter = nodemailer.createTransport({ service: `gmail`, port: 465, secure: true, // true for 465, false for other ports auth: { user: `보내는사람메일주소`, pass: `앱비밀번호`, }, }); const emailOptions = { // 옵션값 설정 from: `보내는사람메일주소`, to: 받는사람메일주소, subject: `비밀번호 초기화 이메일입니다.`, html: `내용`, }; // 전송 transporter.sendMail(emailOptions, (err, res) => { if (err) { console.log(`failed... => `, err); } else { console.log(`succeed... => `, res); } transporter.close(); });
만약 메일 전송에 실패를 한다면
gmail의 경우 보안 설정을 해줘야한다.(아래 링크)
https://support.google.com/accounts/answer/185833
https://myaccount.google.com/lesssecureapps
https://myaccount.google.com/lesssecureapps
앱 비밀 번호를 설정해주자.
먼저 구글 계정 설정 콘솔에서 보안 탭으로 이동하자.
앱 비밀번호 클릭
아래 화면과 같이 설정하고 생성을 클릭하자.
발급된 비밀 번호를 복사해 사용 하면 된다.
auth.pass에 적용!
'Backend > NodeJS' 카테고리의 다른 글