Guest User

Untitled

a guest
Aug 20th, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. const nodemailer = require('nodemailer');
  2. const EmailTemplate = require('email-templates').EmailTemplate;
  3. const Promise = require('bluebird');
  4. const path = require('path');
  5. const transporter = nodemailer.createTransport({
  6. service: 'gmail',
  7. auth: {
  8. user: 'meuemail@gmail.com',
  9. pass: 'minhasenha'
  10. }
  11. });
  12.  
  13. function sendEmail(obj) {
  14. return transporter.sendMail(obj);
  15. }
  16.  
  17. let users = [{
  18. name: '',
  19. email: '',
  20. code: ''
  21. }];
  22.  
  23. async function loadTemplate(templateName, contexts) {
  24. try{
  25. let template = new EmailTemplate(path.join(__dirname, '../../templates/account', templateName));
  26. return Promise.all(contexts.map((context) => {
  27. return new Promise((resolve, reject) => {
  28. template.render(context, (err, result) => {
  29. if(err) reject(err);
  30. else resolve({
  31. email: result,
  32. context,
  33. });
  34. })
  35. })
  36. }));
  37. } catch( err ) {
  38.  
  39. }
  40. }
  41.  
  42. loadTemplate('new', users).then((results) => {
  43. return Promise.all(results.map((result) => {
  44. sendEmail({
  45. to: result.context.email,
  46. from: 'DoctorGym',
  47. subject: result.email.subject,
  48. html: result.email.html,
  49. text: result.email.html
  50. })
  51. }));
  52. }).then(() => {
  53. console.log('Foi!!!!!!!');
  54. })
  55.  
  56.  
  57. module.exports = loadTemplate;
Add Comment
Please, Sign In to add comment