var secrets = require('../config/secrets'); var nodemailer = require("nodemailer"); var transporter = nodemailer.createTransport({ service: 'Mandrill', auth: { user: secrets.mandrill.user, pass: secrets.mandrill.password } }); /** * GET /contact * Contact form page. */ exports.getContact = function(req, res) { res.render('contact', { title: 'Free Code Work for Nonprofits Project Submission Page' }); }; /** * POST /contact * Send a contact form via Nodemailer. * @param email * @param name * @param message */ exports.postContact = function(req, res) { req.assert('name', 'Name cannot be blank').notEmpty(); req.assert('email', 'Email is not valid').isEmail(); req.assert('message', 'Message cannot be blank').notEmpty(); var errors = req.validationErrors(); if (errors) { req.flash('errors', errors); return res.redirect('/nonprofits'); } var from = req.body.email; var name = req.body.name; var body = req.body.message; var to = 'team@freecodecamp.com'; var subject = "CodeNonprofit Project Idea from " + name; var mailOptions = { to: to, from: from, subject: subject, text: body }; transporter.sendMail(mailOptions, function(err) { if (err) { req.flash('errors', { msg: err.message }); return res.redirect('/nonprofits'); } req.flash('success', { msg: 'Email has been sent successfully!' }); res.redirect('/nonprofits'); }); };