· 9 years ago · Mar 22, 2017, 10:44 PM
1<fieldset>
2 <form id="comment_form" method="post" action="/send">
3 <input name="title" placeholder="TITLE" class="title" required></br>
4 <input name="email" placeholder="YOUR EMAIL" class="email" type="email" required></br>
5 <input name="url" placeholder="URL" class="url" type="text" required>
6 <textarea rows="4" cols="50" name="description" placeholder=" DESCIPTION/DETAILS" class="description" required></textarea>
7 <textarea rows="4" cols="50" name="additionalinfo" placeholder="ADDITIONAL INFORMATION" class="additionalinfo"></textarea>
8 <input name="send" class="submission-btn" type="submit" value="send">
9 <div class="g-recaptcha" theme="dark" data-sitekey="6Lfc6hkUAAAAAHVczf8WE3kKNLnPYuHEeGRq4E6B"></div>
10 </form>
11</fieldset>
12
13app.post('/send',function(req,res){
14// g-recaptcha-response is the key that browser will generate upon form submit.
15// if its blank or null means user has not selected the captcha, so return the error.
16if(req.body['g-recaptcha-response'] === undefined || req.body['g-recaptcha-response'] === '' || req.body['g-recaptcha-response'] === null) {
17return res.json({"responseCode" : 1,"responseDesc" : "Please select captcha"});
18}
19var secretKey = "xxxxxxxxx-xxxxxxxxxxx";
20var verificationUrl = "https://www.google.com/recaptcha/api/siteverify? secret=" + secretKey + "&response=" + req.body['g-recaptcha-response'] + "&remoteip=" + req.connection.remoteAddress;
21request(verificationUrl,function(error,response,body) {
22body = JSON.parse(body);
23if(body.success !== undefined && !body.success) {
24 return res.json({"responseCode" : 1,"responseDesc" : "Failed captcha verification"});
25}
26res.json({"responseCode" : 0,"responseDesc" : "Sucess"});
27});
28});
29
30var express = require('express');
31var nodemailer = require('nodemailer');
32var router = express.Router();
33
34// Get Homepage
35router.get('/', function(req, res){
36res.render('index');
37});
38
39router.post('/send', function(req,res,next){
40 var transporter = nodemailer.createTransport({
41 service: 'Gmail',
42 auth: {
43 user: 'example@gmail.com',
44 pass: '2muchsauce'
45 }
46});
47
48var mailOptions = {
49 from: ' <example@gmail.com>',
50 to: 'example@gmail.com',
51 subject:req.body.title,
52 text:'You have a new message with the following details...'
53};
54
55transporter.sendMail(mailOptions, function(error, info){
56 if(error){
57 console.log('Unable to send message:'+error. message);
58 res.redirect('/');
59 }else{
60 console.log('Message sent:' + info.response);
61 res.redirect('/');
62 }
63});
64});
65module.exports = router;