Guest User

Untitled

a guest
Oct 15th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.13 KB | None | 0 0
  1. import path from 'path';
  2. import config from '../../config/config';
  3.  
  4. const nodemailer = require('nodemailer');
  5. const EmailTemplate = require('email-templates');
  6.  
  7. const transporter = nodemailer.createTransport({
  8. service: 'gmail',
  9. port: 587,
  10. secure: false, // true for 465, false for other ports
  11. auth: {
  12. user: config.mail.user,
  13. pass: config.mail.pass
  14. }
  15. });
  16.  
  17.  
  18. const emailEngine = new EmailTemplate({
  19. message: {
  20. from: 'duardbr@gmail.com'
  21. },
  22. transport: transporter,
  23. preview: true,
  24. send: true,
  25. juice: true,
  26. juiceResources: {
  27. preserveImportant: true,
  28. webResources: {
  29. relativeTo: path.resolve('public')
  30. }
  31. }
  32. });
  33.  
  34. function sendConfirmationRegisterLink(req, res) {
  35. const mailto = req.body.mailto;
  36.  
  37. console.log(`PARA QUEM VAMOS ENVIAR ${mailto}`);
  38. const mensagem = {
  39. template: '../server/emails/templates/confirmation',
  40. message: {
  41. to: mailto
  42. },
  43. locals: {
  44. name: `${req.body.firstName} ${req.body.lastName}`
  45. }
  46. };
  47.  
  48. emailEngine.send(mensagem, function (err) {
  49. if (err) { return res.status(500).send({ msg: err.message }); }
  50. res.status(200).send(`A verification email has been sent to ${mailto}.`);
  51. });
  52.  
  53. return res.json(req.body);
  54. }
  55.  
  56. function sendRegisterConfirmarionLink(req, res) {
  57. console.log(JSON.stringify(req.body));
  58. const receipt = req.body.receipt;
  59. console.log(`PARA QUEM VAMOS ENVIAR ${receipt}`);
  60.  
  61. const mensagem = {
  62. template: '../server/emails/templates/confirmation',
  63. message: {
  64. to: receipt
  65. },
  66. locals: {
  67. name: `${req.body.firstName} ${req.body.lastName}`
  68. }
  69. };
  70.  
  71. const horario = new Date();
  72. // setup email data with unicode symbols
  73. const mailOptions = {
  74. from: '"SimplesEmpresa 👻" <duardbr@gmail.com>', // sender address
  75. to: receipt,
  76. subject: `Hello ✔ ${horario}`, // Subject line
  77. text: 'Hello world?', // plain text body
  78. html: '<b>Hello world?</b>' // html body
  79. };
  80. emailEngine.send(mensagem).then(console.log).catch(console.error);
  81. transporter.sendMail(mailOptions).then(console.log).catch(console.error);
  82.  
  83. // emailEngine.render(mensagem, function (error, result) {
  84. // if (error) {
  85. // return res.send(error);
  86. // }
  87.  
  88. // res.send(result);
  89. // });
  90.  
  91.  
  92. return res.json(req.body);
  93. }
  94.  
  95.  
  96. function sendOne(emailTemplate, subject, obj) {
  97. emailEngine('../server/emails/templates/confirmation', function (err, template) {
  98. if (err) {
  99. console.log(err)
  100. } else {
  101. template(emailTemplate, obj.toObject(), function (err, html, text) {
  102. if (err) {
  103. console.log(err)
  104. } else {
  105. const emailFrom = '<support@xxxxx.xx>'
  106.  
  107. const mailOptions = {
  108. from: emailFrom,
  109. to: obj.email,
  110. subject: subject,
  111. text: text,
  112. html: html
  113. }
  114.  
  115. transporter.sendMail(mailOptions, function (err, responseStatus) {
  116. if (err) {
  117. console.log(err)
  118. } else {
  119. console.log(`Message sent: ${responseStatus.response}`);
  120. }
  121. })
  122. }
  123. });
  124. }
  125. })
  126. }
  127.  
  128. export default { sendConfirmationRegisterLink, sendRegisterConfirmarionLink, sendOne };
Add Comment
Please, Sign In to add comment