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);