Guest User

Untitled

a guest
Apr 25th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. const express = require('express');
  2. const bodyParser = require('body-parser');
  3. const exphbs = require('express-handlebars');
  4. const path = require('path');
  5. const nodemailer = require('nodemailer');
  6.  
  7. const app = express();
  8.  
  9. // View engine setup
  10. app.engine('handlebars', exphbs());
  11. app.set('view engine', 'handlebars');
  12.  
  13. // Static folder
  14. app.use('/public', express.static(path.join(__dirname, 'public')));
  15.  
  16. // Body Parser Middleware
  17. app.use(bodyParser.urlencoded({ extended: false }));
  18. app.use(bodyParser.json());
  19.  
  20. app.get('/askForCookiesRecipie', (req, res) => {
  21. res.render('contact');
  22. });
  23.  
  24. app.post('/send', (req, res) => {
  25. const output = `
  26. <p>You have a new contact request</p>
  27. <h3>Contact Details</h3>
  28. <ul>
  29. <li>Name: ${req.body.name}</li>
  30. <li>Company: ${req.body.company}</li>
  31. <li>Email: ${req.body.email}</li>
  32. <li>Phone: ${req.body.phone}</li>
  33. </ul>
  34. <h3>Message</h3>
  35. <p>${req.body.message}</p>
  36. `;
  37.  
  38. // create reusable transporter object using the default SMTP transport
  39. let transporter = nodemailer.createTransport({
  40. host: 'smtp.gmail.com',
  41. port: 587,
  42. secure: false, // true for 465, false for other ports
  43. auth: {
  44. user: 'jackydu77@gmail.com ', // generated ethereal user
  45. pass: 'CASSETOIPOVCON' // generated ethereal password
  46. },
  47. tls:{
  48. rejectUnauthorized:false
  49. }
  50. });
  51.  
  52. // setup email data with unicode symbols
  53. let mailOptions = {
  54. from: 'pierrelangev1@gmail.com', // sender address
  55. to: 'fredydope@gmail.com', // list of receivers
  56. subject: 'Node Contact Request', // Subject line
  57. text: 'Hello FRDYDOPE', // plain text body
  58. html: output // html body
  59. };
  60.  
  61. // send mail with defined transport object
  62. transporter.sendMail(mailOptions, (error, info) => {
  63. if (error) {
  64. return console.log(error);
  65. }
  66. console.log('Message sent: %s', info.messageId);
  67. console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));
  68.  
  69. res.render('contact', {msg:'Email has been sent'});
  70. });
  71. });
  72.  
  73. app.listen(3000, () => console.log('Server started on 3000...'));
Add Comment
Please, Sign In to add comment