Guest User

Untitled

a guest
Jan 27th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. const aws = require('aws-sdk');
  2. const nodemailer = require('nodemailer');
  3. const mysql = require('mysql');
  4. const json2csv = require('json2csv').parse;
  5. const fs = require('fs');
  6.  
  7. // create Nodemailer SES transporter
  8. var transporter = nodemailer.createTransport({
  9. SES: new aws.SES({
  10. apiVersion: '2010-12-01'
  11. })
  12. });
  13.  
  14. var connection = mysql.createConnection({
  15. host: "localhost",
  16. user: "dbuser",
  17. password: "dbpass",
  18. database: "students",
  19. port: 3306
  20. });
  21.  
  22.  
  23. exports.handler = (event, context, callback) => {
  24. connection.query('select user, password from user', function (error, results, fields) {
  25. if (error) {
  26. connection.destroy();
  27. throw error;
  28. } else {
  29. // connected!
  30. var fields = ['user', 'password'];
  31. const opts = {
  32. fields
  33. };
  34. const csv = json2csv(results, opts);
  35. var filename = Date.now();
  36. var path = '/tmp/' + filename + '.csv';
  37. fs.writeFile(path, csv, function (err, data) {
  38. if (err) {
  39. throw err;
  40. } else {
  41. console.log('file Created');
  42. var attachments = [{ // file on disk as an attachment
  43. filename: filename+'.csv',
  44. path: '/tmp/'+filename+'.csv' // stream this file
  45. }]
  46. transporter.sendMail({
  47. from: 'diegof.cornejo@gmail.com',
  48. to: 'diegof.cornejo@gmail.com',
  49. subject: 'Users',
  50. text: 'Users',
  51. html: '<b>Users</b>',
  52. attachments: attachments
  53. }, (err, info) => {
  54. if (err) {
  55. console.log(err)
  56. } else {
  57. console.log(info.envelope);
  58. console.log(info.messageId);
  59. }
  60. });
  61. }
  62. });
  63. callback(error, results);
  64. connection.end(function (err) {
  65. callback(err, results);
  66. });
  67. }
  68. });
  69. };
Add Comment
Please, Sign In to add comment