• Jump To … +
    config.js middleware.js seed.js server.js utils.js
  • utils.js

  • ¶
    var nodemailer = require('nodemailer');
    var nconf = require('nconf');
    var crypto = require('crypto');
    
    module.exports.sendEmail = function(mailData) {
      var smtpTransport = nodemailer.createTransport("SMTP",{
        service: nconf.get('SMTP_SERVICE'),
        auth: {
          user: nconf.get('SMTP_USER'),
          pass: nconf.get('SMTP_PASS')
        }
      });
      smtpTransport.sendMail(mailData, function(error, response){
        if(error){
          console.log(error);
        }else{
          console.log("Message sent: " + response.message);
        }
        smtpTransport.close(); // shut down the connection pool, no more messages
      });
    }
  • ¶

    Encryption using http://dailyjs.com/2010/12/06/node-tutorial-5/ Note: would use password-hash, but we need to run model.query().equals(), so it's a PITA to work in their verify() function

    module.exports.encryptPassword = function(password, salt) {
      return crypto.createHmac('sha1', salt).update(password).digest('hex');
    }
    
    module.exports.makeSalt = function() {
      var len = 10;
      return crypto.randomBytes(Math.ceil(len / 2)).toString('hex').substring(0, len);
    }