contact.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. var nodemailer = require('nodemailer');
  2. var transporter = nodemailer.createTransport({
  3. service: 'Mailgun',
  4. auth: {
  5. user: process.env.MAILGUN_USERNAME,
  6. pass: process.env.MAILGUN_PASSWORD
  7. }
  8. });
  9. /**
  10. * GET /contact
  11. */
  12. exports.contactGet = function(req, res) {
  13. res.render('contact', {
  14. title: 'Contato'
  15. });
  16. };
  17. /**
  18. * POST /contact
  19. */
  20. exports.contactPost = function(req, res) {
  21. req.assert('name', 'Nome não pode estar em branco').notEmpty();
  22. req.assert('email', 'O e-mail inserido não é valido').isEmail();
  23. req.assert('email', 'E-mail é obrigatório').notEmpty();
  24. req.assert('message', 'A mensagem não pode estar em branco').notEmpty();
  25. req.sanitize('email').normalizeEmail({ remove_dots: false });
  26. var errors = req.validationErrors();
  27. if (errors) {
  28. req.flash('error', errors);
  29. return res.redirect('/contato');
  30. }
  31. var mailOptions = {
  32. from: req.body.name + ' ' + '<'+ req.body.email + '>',
  33. to: 'guilmour@alunos.utfpr.edu.br',
  34. subject: 'Formulário de Contato | Libreflix',
  35. text: req.body.message
  36. };
  37. transporter.sendMail(mailOptions, function(err) {
  38. req.flash('success', { msg: 'Obrigado! Sua mensagem foi enviada.' });
  39. res.redirect('/contato');
  40. });
  41. };