From e1496dc01cd25f9e77f79db96cc8357087f1bd90 Mon Sep 17 00:00:00 2001 From: Ilan Biala Date: Sun, 8 Mar 2015 11:54:55 -0400 Subject: [PATCH] Reset password script --- scripts/reset-password.js | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 scripts/reset-password.js diff --git a/scripts/reset-password.js b/scripts/reset-password.js new file mode 100644 index 0000000000..8a268567fa --- /dev/null +++ b/scripts/reset-password.js @@ -0,0 +1,50 @@ +var nodemailer = require('nodemailer'), + mongoose = require('mongoose'), + config = require('../config/config'), + mg = require('../config/lib/mongoose'); + +var transporter = nodemailer.createTransport(config.mailer.options); +var link = 'reset link here'; // PUT reset link here + +mg.connect(function(db) { + var User = mongoose.model('User'); + + User.find().exec(function(err, users) { + if (err) { + throw err; + } + + var email = { + from: 'noreply@xyz.com', + subject: 'Security update' + }; + + for (var i = 0; i < users.length; i++) { + var text = [ + 'Dear ' + users[i].displayName, + '\n', + 'We have updated our password storage systems to be more secure and more efficient, please click the link below to reset your password so you can login in the future.', + link, + '\n', + 'Thanks,', + 'The Team' + ].join('\n'); + + email.to = users[i].email; + email.text = text; + email.html = text; + + transporter.sendMail(email, function(err, info) { + if (err) { + console.log('Error: ', err); + console.log('Could not send email for ', users[i].displayName); + } else { + console.log('Sent reset password email for ', users[i].displayName); + } + }); + } + + console.log('Sent all emails'); + process.exit(0); + }); +});