From 5adb8da427aa0881e6ef6565e3770333a8441ddd Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Mon, 7 Dec 2015 15:27:04 -0500 Subject: [PATCH] enabled Gmail routing for email fallback --- src/emailer.js | 18 ++++++++++++++++-- src/views/admin/settings/email.tpl | 28 +++++++++++++++++++++++++--- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/src/emailer.js b/src/emailer.js index d63aa1bb7e..449bdf9e9b 100644 --- a/src/emailer.js +++ b/src/emailer.js @@ -14,13 +14,26 @@ var async = require('async'), translator = require('../public/src/modules/translator'), transports = { - direct: nodemailer.createTransport('direct') + direct: nodemailer.createTransport('direct'), + gmail: undefined }, app; (function(Emailer) { Emailer.registerApp = function(expressApp) { app = expressApp; + + // Enable Gmail transport if enabled in ACP + if (parseInt(meta.config['email:GmailTransport:enabled'], 10) === 1) { + transports.gmail = nodemailer.createTransport('SMTP', { + service: 'Gmail', + auth: { + user: meta.config['email:GmailTransport:user'], + pass: meta.config['email:GmailTransport:pass'] + } + }); + } + return Emailer; }; @@ -101,7 +114,8 @@ var async = require('async'), data.text = data.plaintext; delete data.plaintext; - transports.direct.sendMail(data, callback); + winston.verbose('[emailer] Sending email to uid ' + data.uid); + transports[transports.gmail ? 'gmail' : 'direct'].sendMail(data, callback); }; function render(tpl, params, next) { diff --git a/src/views/admin/settings/email.tpl b/src/views/admin/settings/email.tpl index 24e4fc7798..683a13f4cc 100644 --- a/src/views/admin/settings/email.tpl +++ b/src/views/admin/settings/email.tpl @@ -4,9 +4,6 @@
Email Settings
-

- Please ensure that you have installed a third-party emailer (e.g. PostageApp, Mailgun, Mandrill, SendGrid, etc), otherwise emails will not be sent by NodeBB -

@@ -25,6 +22,31 @@

+
+
Gmail Routing
+
+ +
+ +
+
+ +
+

+ Enter the full email address here, especially if you are using a Google Apps managed domain. +

+
+
+ +
+
+ +
+
+
Edit Email Template