diff --git a/src/libs/middlewares/email.js b/src/libs/middlewares/email.js new file mode 100644 index 0000000000000000000000000000000000000000..7a4c55ab4c13725217429128dc70efef4c3357f3 --- /dev/null +++ b/src/libs/middlewares/email.js @@ -0,0 +1,37 @@ +const libs = `${process.cwd()}/libs`; +const log = require(`${libs}/log`)(module); +const config = require(`${libs}/config`); +const nodemailer = require('nodemailer'); +const htmlToText = require('nodemailer-html-to-text').htmlToText; + +let transporter = nodemailer.createTransport({ + host: config.email.host, + port: config.email.port, + secure: config.email.secure, + ignoreTLS: config.email.ignoreTLS +}); + +transporter.use('compile', htmlToText()); + +// verify connection configuration +transporter.verify(function(error, success) { + if (error) { + log.error(error); + } else { + log.info('Email server is ready to take our messages'); + } +}); + +let mailOptions = { + from: config.email.from +}; + +module.exports = function send(options, cb) { + Object.assign(options, mailOptions); + transporter.sendMail(options, (err, info) => { + if(err) { + return cb(err); + } + cb(null, info); + }); +}; \ No newline at end of file