mail.transport.js
const nodemailer = require('nodemailer')
const fromuser = '구글아이디 (이메일ㄴㄴ)'
const password = '구글비밀번호';
const transport = nodemailer.createTransport({
service: 'gmail',
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
user: fromuser,
pass: password
}
})
module.exports = transport
이메일을 보낼 모듈을 생성한다. 사용할 계정의 아이디와 비밀번호를 입력해 준다.
router.js
exports.sendEmail = (req, res) => {
transport.sendMail({
to: ["db9292@naver.com", "yourim92@daum.net"],
subject: '회원가입을 환영합니다.',
text: 'mail test content',
html: `
<h2>환</h2>
<h1>영</h1>
`
})
.then(res.send(200, '이메일 발송 성공'))
}
text와 html이 같이 넣어 봤는데 text는 안 나오는 것 같다. (혼자 있으면 나옴)
html이 잘 적용된 메일을 받아볼 수 있음 😶
구글 로그인 시 2단계 인증이 걸려있을 경우 다음과 같은 에러가 발생한다.
UnhandledPromiseRejectionWarning: Error: Invalid login: 535-5.7.8
Username and Password not accepted. Learn more at
...
이 방법대로 진행하고, 16자리 문자가 생성되면, 비밀번호 자리에 입력해주면 된다.
'main > Node.js' 카테고리의 다른 글
[Node] API 통신용 포트에도 SSL 적용시키기 (0) | 2022.02.04 |
---|---|
[React | Next.js | Node.js] TOAST UI Editor 이미지 업로드 (0) | 2022.01.10 |
[MySQL | Javascript] query return값 받아서 저장하고 사용하는 방법 (0) | 2021.11.15 |
[Node] path, __dirname 사용하기 / ReferenceError: path is not defined ERROR (0) | 2021.07.27 |