64 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
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');
 | 
						|
  });
 | 
						|
};
 |