MailService.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. const nodemailer = require('nodemailer');
  2. const CompanyEmail = "[email protected]";
  3. const password = "sxoinas12345";
  4. // we will make a list of services!!
  5. const service = "hotmail";
  6. class MailService{
  7. constructor(){
  8. this.service = service;
  9. this.user = CompanyEmail;
  10. this.password = password;
  11. this.transporter = nodemailer.createTransport({
  12. service:this.service,
  13. auth:{
  14. user:this.user,
  15. pass:this.password
  16. }
  17. });
  18. }
  19. prepare(to,subject,body){
  20. return new Promise((resolve,reject)=>{
  21. try{
  22. let mailOptions = {
  23. from:this.user,
  24. to:to,
  25. subject:subject,
  26. text:body
  27. }
  28. resolve(mailOptions);
  29. }
  30. catch(e){
  31. console.log("rejecting!!")
  32. reject(e);
  33. }
  34. });
  35. }
  36. sendMail(mailOptions){
  37. return new Promise((resolve,reject)=>{
  38. try{
  39. this.transporter.sendMail(mailOptions,function(error,info){
  40. if(!error){
  41. resolve(info);
  42. }
  43. else{
  44. console.log("rejecting")
  45. reject(error);
  46. }
  47. })
  48. }
  49. catch(e){
  50. console.log("rejecting?")
  51. reject(e);
  52. }
  53. })
  54. }
  55. }
  56. module.exports = new MailService();