#config/mailgun.js
module.exports.mailgun = {
usessl: true,
port: 465,
to: '<youremailaddress>',
prepend_subject: 'Happy Contact Form | ',
user: process.env.MAILGUN_USER,
pass: process.env.MAILGUN_PASS
}
#controllers/EmailController.js
/**
* EmailController
*
* @module :: Controller
* @description :: Contains logic for handling requests.
*/
var nodemailer = require('nodemailer');
module.exports = {
send: function(req, res){
var params = req.params.all();
console.log(params);
if(!params.name){
res.send(500);
}
if(!params.subject){
res.send(500);
}
if(!params.message){
res.send(500);
}
var msg = [];
msg = 'Someone Has Contact You From the Website!\n';
msg += '------------------------------------------\n';
msg += 'Name: ' + params.name + '\n';
if(params.email){
msg += 'Email: ' + params.email + '\n';
}
if(params.phoneNumber){
msg += 'Phone Number: ' + params.phoneNumber + '\n';
}
msg += 'Subject: ' + params.subject + '\n';
msg += 'Message: \n';
msg += params.message + '\n';
var transport = nodemailer.createTransport("SMTP", {
host: sails.config.mailgun.host,
secureConnection: sails.config.mailgun.usessl, // use SSL
port: sails.config.mailgun.port, // port for secure SMTP
auth: {
user: sails.config.mailgun.user,
pass: sails.config.mailgun.pass
}
});
var mailOptions = {
from: params.name + '<' + params.email + '>' || 'nobody@nobody.com',
to: sails.config.mailgun.to,
subject: sails.config.mailgun.prepend_subject + params.subject,
text: msg
}
transport.sendMail(mailOptions, function(err, response){
if(err){
res.send(500, "Error Sending " + err);
}else{
res.send(200, response);
}
});
}
};