From 1d3f95fa49d7c62d27f6295aedfc5db31eb7f1a5 Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Tue, 22 Aug 2017 09:48:01 -0300
Subject: [PATCH] Add email middleware

---
 src/libs/middlewares/email.js | 37 +++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 src/libs/middlewares/email.js

diff --git a/src/libs/middlewares/email.js b/src/libs/middlewares/email.js
new file mode 100644
index 00000000..7a4c55ab
--- /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
-- 
GitLab