Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var router = express.Router();
- //var http = require('http');
- var request = require('request');
- var mailer = require('nodemailer');
- var smtpTransport = mailer.createTransport({
- host: 'smtp.gmail.com',
- port: 587,
- secure: false,
- auth: {
- user: 'user',
- pass: 'pass'
- }
- });
- var mailOptions = {
- from: 'FauxSeal210 Plugin requester',
- to: 'ban_creeper@naver.com',
- subject: 'Plugin 요청',
- text: ''
- };
- router.get('/', function(req, res, next) {
- res.render('request');
- });
- router.post('/', function(req, res, next) {
- const name = req.body.name === '' ? 'Undefined' : req.body.name;
- const contacts = req.body.contacts === '' ? 'Undefined' : req.body.contacts;
- const content = req.body.content;
- const recaptchaContent = req.body['g-recaptcha-response'];
- if (recaptchaContent === '' || recaptchaContent === undefined) {
- return res.status(500).send('fail');
- }
- if (!requestRecaptcha(recaptchaContent)) {
- return res.status(500).send('fail');
- }
- sendMail(name, contacts, content);
- res.status(200).send('success');
- });
- function requestRecaptcha(recaptchaContent) {
- request.post({
- url: 'https://www.google.com/recaptcha/api/siteverify',
- form: {
- secret: 'secret',
- response: recaptchaContent
- }
- }, function(err, res, body) {
- if (err) {
- console.log(err);
- } else {
- body = JSON.parse(body);
- console.log(body);
- if(body.success !== undefined && !body.success) {
- return false;
- }
- }
- });
- return true;
- }
- function sendMail(name, contacts, content) {
- mailOptions.text = `${name} 님의 연락처: ${contacts}\n\n내용: ${content}`;
- smtpTransport.sendMail(mailOptions, function(error, response) {
- if (error) {
- console.log(error);
- } else {
- console.log('Sent Message');
- }
- smtpTransport.close();
- });
- }
- module.exports = router;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement