Guest User

Untitled

a guest
Mar 18th, 2018
545
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. // This is simple email sender by programming mentor
  2. // Usage:
  3. // Install deps: npm i express nodemailer body-parser
  4. // Run: GMAIL=example@google.com PASSWORD=12345 node server.js
  5.  
  6. const express = require('express');
  7. const nodemailer = require('nodemailer');
  8.  
  9. const bodyParser = require('body-parser');
  10. const path = require('path');
  11.  
  12. const GMAIL = process.env.GMAIL;
  13. const PASSWORD = process.env.PASSWORD;
  14.  
  15. console.log(GMAIL, PASSWORD);
  16.  
  17. const transporter = nodemailer.createTransport({
  18. service: 'gmail',
  19. auth: {
  20. user: GMAIL,
  21. pass: PASSWORD
  22. }
  23. });
  24.  
  25. const app = express();
  26.  
  27. app.use(bodyParser.urlencoded({ extended: false }));
  28. app.use(express.static(path.resolve(__dirname, 'public')));
  29.  
  30. app.get('/', function(req, res) {
  31. res.sendFile(__dirname + '/index.html');
  32. });
  33.  
  34. app.post('/email/:address', (req, res) => {
  35. const mailOptions = {
  36. from: GMAIL,
  37. to: req.params.address,
  38. subject: 'New email from form-sender',
  39. html: JSON.stringify(req.body)
  40. };
  41. transporter.sendMail(mailOptions, function(error, info) {
  42. if (error) {
  43. console.error(error);
  44. res.status(500).send('Server error');
  45. } else {
  46. console.log('Email sent: ' + info.response);
  47. res.send(`Adress: ${req.params.address}, Data sent: ${JSON.stringify(req.body)}`);
  48. }
  49. });
  50. });
  51.  
  52. console.log('Server is running on', process.env.PORT || 3000, process.env.IP || '0.0.0.0');
  53.  
  54. app.listen(process.env.PORT || 3000, process.env.IP || '0.0.0.0' );
Add Comment
Please, Sign In to add comment