diff --git a/src/mail_templates/welcome_html.ejs b/src/mail_templates/welcome_html.ejs new file mode 100644 index 000000000..b0e68cd3f --- /dev/null +++ b/src/mail_templates/welcome_html.ejs @@ -0,0 +1 @@ +html: You can check out anytime you like, but you can never leave diff --git a/src/mail_templates/welcome_text.ejs b/src/mail_templates/welcome_text.ejs new file mode 100644 index 000000000..7ef2bfda7 --- /dev/null +++ b/src/mail_templates/welcome_text.ejs @@ -0,0 +1,2 @@ +You can check out anytime you like, but you can never leave + diff --git a/src/mailer.js b/src/mailer.js index 6ee56bbfd..96a4e5af2 100644 --- a/src/mailer.js +++ b/src/mailer.js @@ -9,7 +9,10 @@ var nodemailer = require('nodemailer'), aync = require('async'), digitalocean = require('./digitalocean.js'), cloudron = require('./cloudron.js'), - config = require('../config.js'); + ejs = require('ejs'), + safe = require('safetydance'), + config = require('../config.js'), + path = require('path'); exports = module.exports = { initialize: initialize, @@ -21,6 +24,8 @@ exports = module.exports = { adminChanged: adminChanged }; +var MAIL_TEMPLATES_DIR = path.join(__dirname, 'mail_templates'); + var transport = nodemailer.createTransport(smtpTransport({ host: config.mailServer, port: 25 @@ -82,6 +87,10 @@ function enqueue(mailOptions) { mailQueue.push(mailOptions); } +function render(templateFile, params) { + return ejs.render(safe.fs.readFileSync(path.join(MAIL_TEMPLATES_DIR, templateFile), params)); +} + function adminAdded(user) { debug('Sending mail for adminAdded'); @@ -89,8 +98,8 @@ function adminAdded(user) { from: config.mailUsername, to: user.email, subject: 'Welcome to Cloudron', - text: 'You can check out anytime you like, but you can never leave', - html: 'You can check out anytime you like, but you can never leave' + text: render('welcome_text.ejs', { }), + html: render('welcome_html.ejs', { }) }; enqueue(mailOptions);