From a53b484fadd3382895f1834211b157d0c94a3f8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Tue, 2 May 2017 20:56:29 +0200 Subject: [PATCH] Added a new mailservice --- server/.gitignore | 1 + server/package.json | 3 +-- server/router.js | 42 ++++++++++++++++++++++++++++-------------- 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/server/.gitignore b/server/.gitignore index 02380fbc..d0341799 100644 --- a/server/.gitignore +++ b/server/.gitignore @@ -2,3 +2,4 @@ node_modules/ scripts/ .DS_Store mongo_config.js +mailconfig.js diff --git a/server/package.json b/server/package.json index 84a87621..0c79b748 100644 --- a/server/package.json +++ b/server/package.json @@ -12,12 +12,11 @@ "express-handlebars": "^3.0.0", "express-subdomain": "^1.0.5", "jimp": "^0.2.27", - "lwip": "0.0.9", "mongodb": "^2.0.27", "mongojs": "^2.4.0", "node-cryptojs-aes": "^0.4.0", + "nodemailer": "^4.0.1", "request": "^2.72.0", - "sendmail": "^1.1.1", "socket.io": "^1.7.3", "uniqid": "^4.1.1" }, diff --git a/server/router.js b/server/router.js index 984c97ce..2458bce4 100644 --- a/server/router.js +++ b/server/router.js @@ -1,7 +1,8 @@ var express = require('express'); var router = express.Router(); const path = require('path'); -var sendmail = require('sendmail')(); +var nodemailer = require('nodemailer'); +var mailconfig = require('./mailconfig.js'); router.use(function(req, res, next) { next(); // make sure we go to the next routes and don't stop here @@ -90,20 +91,33 @@ router.route('/:user_name/:channel_name').get(function(req, res, next){ */ router.route('/api/mail').post(function(req, res) { - var from = req.body.from; - var message = req.body.message; - sendmail({ - from: from, - to: 'contact@zoff.no', - subject: 'ZOFF: Contact form webpage', - html: message, - }, function(err, reply) { - if(err) { - res.sendStatus(500); - } else { - res.sendStatus(200); + let transporter = nodemailer.createTransport(mailconfig); + + transporter.verify(function(error, success) { + if (error) { + res.sendStatus(500); + return; + } else { + var from = req.body.from; + var message = req.body.message; + var msg = { + from: 'no-reply@zoff.no', + to: 'contact@zoff.no', + subject: 'ZOFF: Contact form webpage', + text: message, + html: message, + replyTo: from } - }); + transporter.sendMail(msg, (error, info) => { + if (error) { + res.send("failed"); + return; + } + res.send("success"); + transporter.close(); + }); + } + }); }); router.route('/').get(function(req, res, next){