Xây dựng module gửi gmail bằng Nodejs |
Tạo project trắng với câu lệnh: npm init -y
Nếu xảy ra lỗi npm ERR! code EINVALIDTAGNAME thì các bạn kiểm tra lại tên thư mục gốc chứa project xem có chứa ký tự đặc biệt (kể cả dấu cách), nếu có thì xóa nó đi nhé.
Tạo file index.js
var express = require('express')
var sendEmail = require('./sendEmail.js')
var app = express()
app.get('/sendMail', (req, res) => {
sendEmail()
.then(() => res.status(200).json({ success: true }),
error => res.status(400).json(error)
)
})
app.listen(3000)
Tạo file sendGmail.js
var nodemailer = require('nodemailer')
var config = require('./config') // Các bạn cần tạo một file chứa các thông tin config private nhé
var { accountGmail } = config
function sendEmail() {
var transporter = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: accountGmail.username,
pass: accountGmail.password
}
})
const mailOptions = {
from: 'NHK', // sender address
to: 'dauchantrau@gmail.com', // list of receivers
subject: 'Subject of your email', // Subject line
html: '<p>Your html here</p>'// plain text body
}
return new Promise((resolve, reject) => {
transporter.sendMail(mailOptions, function (err, info) {
if(err) reject(err)
else resolve()
})
})
}
module.exports = sendEmail
OK giờ chạy node index.js rồi vào localhost:3000/sendMail để check thử nhé.
Chúc các bạn thành công!!!