Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var path = require('path');
- var bodyParser = require('body-parser');
- var validator = require('./config/validator.js');
- var mailer = require('nodemailer');
- var app = express();
- app.use(bodyParser.urlencoded({extended:false}));
- app.use(bodyParser.json());
- app.use(express.static(path.join(__dirname, 'public')))
- app.get('/', (req, res) => res.send(__dirname + '/public/index.html'));
- app.get('/feedback', (req, res) => res.sendFile(__dirname + '/public/form.html'));
- app.post('/form', (req, res) => {
- console.log(req.body);
- const formConfig = validator.getFormConfig('suggestions');
- const errorFields = validator.validate(req.body, formConfig);
- if(errorFields.length === 0) {
- let transporter = mailer.createTransport("SMTP", {
- service: 'gmail',
- auth: {
- user: '*email*',
- pass: '*emailPassword*'
- }
- });
- let noGenderSelected = 'You did not select your gender.';
- var mailOptions = {
- from: '*email from*',
- to: req.body.email,
- subject: 'Response Recieved',
- text: `Hello ${req.body.fname} ${req.body.lname}!
- We have recieved your response! Thank you for your feedback!
- The data you entered was:
- - First Name: ${req.body.fname}
- - Last Name: ${req.body.lname}
- - Email: ${req.body.email}
- - Country: ${req.body.country}
- - Suggestion: ${req.body.suggestion}
- - Gender: ${req.body.gender ? `${req.body.gender}` : `${noGenderSelected}`}`,
- html: `Hello ${req.body.fname} ${req.body.lname}!
- We have recieved your response! Thank you for your feedback!
- The data you entered was:
- <ul>
- <li>First Name: ${req.body.fname}</li>
- <li>Last Name: ${req.body.lname}</li>
- <li>Email: ${req.body.email}</li>
- <li>Country: ${req.body.country}</li>
- <li>Suggestion: ${req.body.suggestion}</li>
- <li>Gender: ${req.body.gender ? `${req.body.gender}` : `${noGenderSelected}`}</li>
- </ul>`
- };
- transporter.sendMail(mailOptions, (error, info) => {
- if (error) {
- console.log(error);
- res.send(error);
- } else {
- console.log('Email sent: ' + info.response);
- res.send('Email sent: ' + info.response);
- }
- });
- }
- res.json(errorFields);
- });
- app.listen(8080, () => console.log('Server listening on port 8080'));
Add Comment
Please, Sign In to add comment