|
|
@@ -6,10 +6,12 @@ module.exports = function(app) {
|
|
|
'use strict';
|
|
|
|
|
|
var debug = require('debug')('crowi:lib:mailer')
|
|
|
- , nodemailer = require("nodemailer")
|
|
|
+ , nodemailer = require('nodemailer')
|
|
|
+ , swig = require('swig')
|
|
|
, config = app.set('config')
|
|
|
, mailConfig = {}
|
|
|
, mailer = {}
|
|
|
+ , MAIL_TEMPLATE_DIR = app.set('views') + '/mail/'
|
|
|
;
|
|
|
|
|
|
|
|
|
@@ -100,7 +102,19 @@ module.exports = function(app) {
|
|
|
|
|
|
function send(config, callback) {
|
|
|
if (mailer) {
|
|
|
- return mailer.sendMail(setupMailConfig(config), callback);
|
|
|
+ var templateVars = config.vars || {};
|
|
|
+ return swig.renderFile(
|
|
|
+ MAIL_TEMPLATE_DIR + config.template,
|
|
|
+ templateVars,
|
|
|
+ function (err, output) {
|
|
|
+ if (err) {
|
|
|
+ throw err;
|
|
|
+ }
|
|
|
+
|
|
|
+ config.text = output;
|
|
|
+ return mailer.sendMail(setupMailConfig(config), callback);
|
|
|
+ }
|
|
|
+ );
|
|
|
} else {
|
|
|
debug('Mailer is not completed to set up. Please set up SMTP or AWS setting.');
|
|
|
return callback(new Error('Mailer is not completed to set up. Please set up SMTP or AWS setting.'), null);
|