/** * Run * * @module :: Model * @description :: A short summary of how this model works and what it represents. * @docs :: http://sailsjs.org/#!documentation/models */ var nodemailer = require('nodemailer'); module.exports = { attributes: { name: { type: 'string', required: true }, creatorName: { type: 'string', required: true }, creatorEmail: { type: 'email', required: true }, invitees: { type: 'array' }, menuUrl: { type: 'url' }, restaurant: 'string' }, afterCreate: function(values, next) { var transport = nodemailer.createTransport('SMTP', { service: "Gmail", auth: { user: "ben.ramey@gmail.com", pass: "dxir9PwxRwh9tauwcEbj" } }); var emailText = "You've been invited to " + values.creatorName + "'s lunch run: '" + values.name + "'! \n\n Put in your order here:\nhttp://www.lunchrun.me/#/run/" + values.id + "/order/"; var options = { from: values.creatorName + " <" + values.creatorEmail + ">", subject: "You've been invited to a lunch run!" }; for (var idx in values.invitees) { var invitee = values.invitees[idx]; var specificOptions = options; specificOptions.to = invitee.name + " <" + invitee.email + ">"; specificOptions.text = emailText + invitee.name; console.log(specificOptions); transport.sendMail(specificOptions, function(err, response) { if (err) { console.log(err); } else { console.log("message sent from: " + values.creatorEmail); } }); } transport.close(); next(); }, };