Advertisement
Guest User

index.js

a guest
Jun 19th, 2018
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const express = require('express');
  2. const bodyParser = require('body-parser');
  3. const nodemailer = require('nodemailer');
  4. const requestIp = require('request-ip');
  5. const validator = require("email-validator");
  6. var mail = require('./sendMail');
  7. const moment = require('moment');
  8. const app = express();
  9.  
  10. //informações do server
  11. const port = 26075;
  12.  
  13. // parse application/x-www-form-urlencoded
  14. app.use(bodyParser.urlencoded({ extended: false }))
  15.  
  16. // parse application/json
  17. app.use(bodyParser.json())
  18.  
  19. app.post('/contact', (req, res) => {
  20.     let {
  21.        name,
  22.        email,
  23.        phone,
  24.        message
  25.     } = req.body;
  26.     let ip = (req.headers['x-forwarded-for'] || '').split(',')[0] || req.connection.remoteAddress;
  27.     let date = moment().format('DD/mm/YYYY HH:mm:ss')
  28.     name = name && name.trim()
  29.     email = email && email.trim()
  30.     phone = phone && phone.trim()
  31.     message = message && message.trim()
  32.  
  33.     if (!name)
  34.     {
  35.         res.status(200).json({message: 'Nome é um campo obrigatório.', success: false})
  36.         return
  37.     }
  38.     if (!email)
  39.     {
  40.         res.status(200).json({message: 'E-mail é um campo obrigatório.', success: false})
  41.         return
  42.     }
  43.     if (!validator.validate(email))
  44.     {
  45.         res.status(200).json({message: 'Preencha um e-mail válido.', success: false})
  46.         return
  47.     }
  48.     if (!phone)
  49.     {
  50.         res.status(200).json({message: 'Telefone é um campo obrigatório.', success: false})
  51.         return
  52.     }
  53.     if (!message)
  54.     {
  55.         res.status(200).json({message: 'Mensagem é um campo obrigatório.', success: false})
  56.         return
  57.     }
  58.     /*if(!recaptchaKey)
  59.     {
  60.         res.status(200).json({message: 'ReCAPTCHA não preenchido.', success: false})
  61.         return  
  62.     }*/
  63.      
  64.    // mail.send('contato@insetsul.com', name, message, email, phone, ip, date)
  65.     try {
  66.         mail.send('contato@anycode.com.br', name, message, email, phone, ip, date)
  67.     }
  68.     catch (e) {}
  69.     res.status(200).json({message: 'Contato enviado com sucesso.', success: true})
  70.  
  71. })
  72.  
  73. app.all('/', function (req, res, next) {
  74.     res.status(200).send('<b>Route not found.</b>');
  75. });
  76.  
  77. app.listen(port, () =>
  78.     console.log('Rodando API na porta ' + port + '.')
  79. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement