Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. var nodemailer = require('nodemailer');
  2. var smtpTransport = require('nodemailer-smtp-transport');
  3. var q = require('Q');
  4.  
  5. module.exports = function (app) {
  6. function MailService() {
  7. var self = this;
  8.  
  9. self.send = _send;
  10.  
  11. /**
  12. * @param .to {String} email list, separed by ','
  13. * @param .from {String}
  14. * @param .subject {String}
  15. * @param .body {String} the body of the e-mail. Accept HTML format.
  16. */
  17. function _send(params) {
  18. var deferred = q.defer();
  19. var mailSettings = app.config.settings.email;
  20.  
  21. var transportConfig = smtpTransport({
  22. host: mailSettings.smtp,
  23. port: 587,
  24. secure: false,
  25. auth: {
  26. user: mailSettings.user,
  27. pass: mailSettings.password
  28. }
  29. });
  30.  
  31. var transport = nodemailer.createTransport(transportConfig);
  32.  
  33. // setup e-mail data with unicode symbols
  34. var mailOptions = {
  35. from: params.from,
  36. to: params.to,
  37. subject: params.subject,
  38. html: params.body
  39. };
  40.  
  41. // send mail with defined transport object
  42. transport.sendMail(mailOptions, function (error, info) {
  43. if (error) {
  44. deferred.reject(error);
  45. }
  46. else {
  47. deferred.resolve(info);
  48. }
  49. });
  50.  
  51. return deferred.promise;
  52. }
  53. }
  54.  
  55. return new MailService();
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement