diff --git a/src/emailer.js b/src/emailer.js index 1f85bffff0..a52fa75c94 100644 --- a/src/emailer.js +++ b/src/emailer.js @@ -1,5 +1,6 @@ var User = require('./user'), Plugins = require('./plugins'), + Meta = require('./meta'), Handlebars = require('handlebars'), fs = require('fs'), @@ -57,7 +58,9 @@ Emailer.send = function(template, uid, params) { User.getUserField(uid, 'email', function(err, email) { if (!err) { Plugins.fireHook('action:email.send', { - email: email, + to: email, + from: Meta.config['email:from'], + subject: subject, html: results.html, plaintext: results.plaintext }); diff --git a/src/user.js b/src/user.js index 1b163825a5..6ab5c47c96 100644 --- a/src/user.js +++ b/src/user.js @@ -1,6 +1,5 @@ var bcrypt = require('bcrypt'), async = require('async'), - emailjs = require('emailjs'), nconf = require('nconf'), winston = require('winston'), gravatar = require('gravatar'), @@ -12,7 +11,6 @@ var bcrypt = require('bcrypt'), plugins = require('./plugins'), db = require('./database'), meta = require('./meta'), - emailjsServer = emailjs.server.connect(meta.config['email:smtp:host'] || '127.0.0.1'), groups = require('./groups'), notifications = require('./notifications'), topics = require('./topics'), @@ -826,42 +824,48 @@ var bcrypt = require('bcrypt'), }; User.sendConfirmationEmail = function(email) { - if (meta.config['email:smtp:host'] && meta.config['email:smtp:port'] && meta.config['email:from']) { - var confirm_code = utils.generateUUID(), - confirm_link = nconf.get('url') + 'confirm/' + confirm_code, - confirm_email = global.templates['emails/header'] + global.templates['emails/email_confirm'].parse({ - 'CONFIRM_LINK': confirm_link - }) + global.templates['emails/footer'], - confirm_email_plaintext = global.templates['emails/email_confirm_plaintext'].parse({ - 'CONFIRM_LINK': confirm_link - }); - - // Email confirmation code - var expiry_time = Date.now() / 1000 + 60 * 60 * 2; + var confirm_code = utils.generateUUID(), + confirm_link = nconf.get('url') + 'confirm/' + confirm_code/*, + confirm_email = global.templates['emails/header'] + global.templates['emails/email_confirm'].parse({ + 'CONFIRM_LINK': confirm_link + }) + global.templates['emails/footer'], + confirm_email_plaintext = global.templates['emails/email_confirm_plaintext'].parse({ + 'CONFIRM_LINK': confirm_link + })*/; - db.setObjectField('email:confirm', email, confirm_code); + // Email confirmation code + var expiry_time = Date.now() / 1000 + 60 * 60 * 2; - db.setObjectField('confirm:email', confirm_code, email); - db.setObjectField('confirm:email', confirm_code + ':expire', expiry_time); + db.setObjectField('email:confirm', email, confirm_code); - // Send intro email w/ confirm code - var message = emailjs.message.create({ - text: confirm_email_plaintext, - from: meta.config['email:from'] || 'localhost@example.org', - to: email, - subject: '[NodeBB] Registration Email Verification', - attachment: [{ - data: confirm_email, - alternative: true - }] - }); + db.setObjectField('confirm:email', confirm_code, email); + db.setObjectField('confirm:email', confirm_code + ':expire', expiry_time); - emailjsServer.send(message, function(err, success) { - if (err) { - console.log(err); - } + // Send intro email w/ confirm code + User.getUserField(uid, 'username', function(err, username) { + Emailer.send('welcome', uid, { + 'site_title': (meta.config['title'] || 'NodeBB'), + subject: 'Welcome to ' + (meta.config['title'] || 'NodeBB') + '!', + username: username, + 'confirm_link': confirm_link }); - } + }); + // var message = emailjs.message.create({ + // text: confirm_email_plaintext, + // from: meta.config['email:from'] || 'localhost@example.org', + // to: email, + // subject: '[NodeBB] Registration Email Verification', + // attachment: [{ + // data: confirm_email, + // alternative: true + // }] + // }); + + // emailjsServer.send(message, function(err, success) { + // if (err) { + // console.log(err); + // } + // }); }; User.pushNotifCount = function(uid) {