Advertisement
Guest User

Untitled

a guest
Dec 2nd, 2017
455
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var express = require('express');
  2. var router = express.Router();
  3.  
  4. //var http = require('http');
  5. var request = require('request');
  6.  
  7. var mailer = require('nodemailer');
  8.  
  9. var smtpTransport = mailer.createTransport({
  10.    host: 'smtp.gmail.com',
  11.    port: 587,
  12.    secure: false,
  13.    auth: {
  14.        user: 'user',
  15.        pass: 'pass'
  16.    }
  17. });
  18.  
  19. var mailOptions = {
  20.     from: 'FauxSeal210 Plugin requester',
  21.     to: 'ban_creeper@naver.com',
  22.     subject: 'Plugin 요청',
  23.     text: ''
  24. };
  25.  
  26. router.get('/', function(req, res, next) {
  27.   res.render('request');
  28. });
  29.  
  30. router.post('/', function(req, res, next) {
  31.     const name = req.body.name === '' ? 'Undefined' : req.body.name;
  32.     const contacts = req.body.contacts === '' ? 'Undefined' : req.body.contacts;
  33.     const content = req.body.content;
  34.     const recaptchaContent = req.body['g-recaptcha-response'];
  35.    
  36.     if (recaptchaContent === '' || recaptchaContent === undefined) {
  37.         return res.status(500).send('fail');
  38.     }
  39.        
  40.     if (!requestRecaptcha(recaptchaContent)) {
  41.         return res.status(500).send('fail');
  42.     }
  43.    
  44.     sendMail(name, contacts, content);
  45.     res.status(200).send('success');
  46. });
  47.  
  48. function requestRecaptcha(recaptchaContent) {
  49.     request.post({
  50.         url: 'https://www.google.com/recaptcha/api/siteverify',
  51.         form: {
  52.             secret: 'secret',
  53.             response: recaptchaContent
  54.         }
  55.     }, function(err, res, body) {
  56.         if (err) {
  57.             console.log(err);
  58.         } else {
  59.             body = JSON.parse(body);
  60.             console.log(body);
  61.             if(body.success !== undefined && !body.success) {
  62.                 return false;
  63.             }
  64.         }
  65.     });
  66.    
  67.     return true;
  68. }
  69.  
  70. function sendMail(name, contacts, content) {
  71.     mailOptions.text = `${name} 님의 연락처: ${contacts}\n\n내용: ${content}`;
  72.     smtpTransport.sendMail(mailOptions, function(error, response) {
  73.        if (error) {
  74.            console.log(error);
  75.        } else {
  76.            console.log('Sent Message');
  77.        }
  78.        smtpTransport.close();
  79.     });
  80. }
  81.  
  82. module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement