Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var nodemailer = require('nodemailer');
- var smtpTransport = require('nodemailer-smtp-transport');
- var q = require('Q');
- module.exports = function (app) {
- function MailService() {
- var self = this;
- self.send = _send;
- /**
- * @param .to {String} email list, separed by ','
- * @param .from {String}
- * @param .subject {String}
- * @param .body {String} the body of the e-mail. Accept HTML format.
- */
- function _send(params) {
- var deferred = q.defer();
- var mailSettings = app.config.settings.email;
- var transportConfig = smtpTransport({
- host: mailSettings.smtp,
- port: 587,
- secure: false,
- auth: {
- user: mailSettings.user,
- pass: mailSettings.password
- }
- });
- var transport = nodemailer.createTransport(transportConfig);
- // setup e-mail data with unicode symbols
- var mailOptions = {
- from: params.from,
- to: params.to,
- subject: params.subject,
- html: params.body
- };
- // send mail with defined transport object
- transport.sendMail(mailOptions, function (error, info) {
- if (error) {
- deferred.reject(error);
- }
- else {
- deferred.resolve(info);
- }
- });
- return deferred.promise;
- }
- }
- return new MailService();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement