/** * 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' }, beforeCreate: function(values, next) { var transport = nodemailer.createTransport('SMTP', { service: "Gmail", auth: { user: "ben.ramey@gmail.com", pass: "Mila(18)?" } }); var inviteeEmails = []; for (var i in values.invitees) { var invitee = values.invitees[i]; var emailStr = invitee.name + " <" + invitee.email + ">"; inviteeEmails.push(emailStr); } var options = { from: values.creatorName + " <" + values.creatorEmail + ">", to: inviteeEmails.join(","), subject: "A lunch run!", text: "You've been invited to a lunch run!" }; console.log(options); transport.sendMail(options, function(err, response) { if (err) { console.log(err); } else { console.log("message sent from: " + values.creatorEmail); } }); transport.close(); next(); }, };