node-express-mongodb-jwt-rest-api-skeleton
Version:
Node.js express.js MongoDB JWT REST API - This is a basic API REST skeleton written on JavaScript using async/await. Great for building a starter web API for your front-end (Android, iOS, Vue, react, angular, or anything that can consume an API)
34 lines (31 loc) • 937 B
JavaScript
const nodemailer = require('nodemailer')
const mg = require('nodemailer-mailgun-transport')
/**
* Sends email
* @param {Object} data - data
* @param {boolean} callback - callback
*/
const sendEmail = async (data = {}, callback) => {
const auth = {
auth: {
// eslint-disable-next-line camelcase
api_key: process.env.EMAIL_SMTP_API_MAILGUN,
domain: process.env.EMAIL_SMTP_DOMAIN_MAILGUN
}
// host: 'api.eu.mailgun.net' // THIS IS NEEDED WHEN USING EUROPEAN SERVERS
}
const transporter = nodemailer.createTransport(mg(auth))
const mailOptions = {
from: `${process.env.EMAIL_FROM_NAME} <${process.env.EMAIL_FROM_ADDRESS}>`,
to: `${data.user.name} <${data.user.email}>`,
subject: data.subject,
html: data.htmlMessage
}
transporter.sendMail(mailOptions, (err) => {
if (err) {
return callback(false)
}
return callback(true)
})
}
module.exports = { sendEmail }