diff --git a/src/mail_templates/backup_failed.ejs b/src/mail_templates/backup_failed.ejs
index ca1e5c997..20021d9eb 100644
--- a/src/mail_templates/backup_failed.ejs
+++ b/src/mail_templates/backup_failed.ejs
@@ -1,8 +1,8 @@
<%if (format === 'text') { %>
-Dear Cloudron Admin,
+Dear <%= cloudronName %> Admin,
-creating a backup of <%= fqdn %> has failed.
+creating a backup has failed.
-------------------------------------
diff --git a/src/mail_templates/box_update_available.ejs b/src/mail_templates/box_update_available.ejs
index d5c9345e3..02a2c315e 100644
--- a/src/mail_templates/box_update_available.ejs
+++ b/src/mail_templates/box_update_available.ejs
@@ -2,7 +2,7 @@
Dear <%= cloudronName %> Admin,
-Version <%= newBoxVersion %> for Cloudron <%= fqdn %> is now available!
+Version <%= newBoxVersion %> is now available!
Changelog:
<% for (var i = 0; i < changelog.length; i++) { %>
@@ -27,7 +27,7 @@ Sent at: <%= new Date().toUTCString() %>
- Version <%= newBoxVersion %> for Cloudron <%= fqdn %> is now available!
+ Version <%= newBoxVersion %> is now available!
Changelog:
diff --git a/src/mail_templates/digest.ejs b/src/mail_templates/digest.ejs
index 919d23856..35fc42313 100644
--- a/src/mail_templates/digest.ejs
+++ b/src/mail_templates/digest.ejs
@@ -2,7 +2,7 @@
Dear <%= cloudronName %> Admin,
-This is a summary of the activities on your Cloudron <%= fqdn %>.
+This is a summary of the activities on your Cloudron.
<% if (info.usersAdded.length) { -%>
The following users were added:
diff --git a/src/mail_templates/oom_event.ejs b/src/mail_templates/oom_event.ejs
index 25cec48ce..08cfd2861 100644
--- a/src/mail_templates/oom_event.ejs
+++ b/src/mail_templates/oom_event.ejs
@@ -1,8 +1,8 @@
<%if (format === 'text') { %>
-Dear Cloudron Admin,
+Dear <%= cloudronName %> Admin,
-<%= program %> on <%= fqdn %> exited unexpectedly using too much memory!
+<%= program %> exited unexpectedly using too much memory!
The app has been restarted now. Should this message appear repeatedly or
undefined behavior is observed, give the app more memory.
diff --git a/src/mail_templates/out_of_disk_space.ejs b/src/mail_templates/out_of_disk_space.ejs
index 53f60f666..a312311fa 100644
--- a/src/mail_templates/out_of_disk_space.ejs
+++ b/src/mail_templates/out_of_disk_space.ejs
@@ -1,8 +1,8 @@
<%if (format === 'text') { %>
-Dear Cloudron Admin,
+Dear <%= cloudronName %> Admin,
-<%= fqdn %> is running out of disk space.
+your server is running out of disk space.
Disk space logs are attached.
diff --git a/src/mail_templates/test.ejs b/src/mail_templates/test.ejs
index 02bc46708..b482b6201 100644
--- a/src/mail_templates/test.ejs
+++ b/src/mail_templates/test.ejs
@@ -1,6 +1,6 @@
<%if (format === 'text') { %>
-Test email from <%= fqdn %>,
+Test email from <%= cloudronName %>,
If you can read this, your Cloudron email settings are good.
diff --git a/src/mail_templates/test_data.json b/src/mail_templates/test_data.json
index 2a7841ad4..b1b5b4a7b 100644
--- a/src/mail_templates/test_data.json
+++ b/src/mail_templates/test_data.json
@@ -1,7 +1,6 @@
{
"format": "html",
"webadminUrl": "https://my.cloudron.io",
- "fqdn": "my.cloudron.io",
"cloudronName": "Smartserver",
"cloudronAvatarUrl": "https://cloudron.io/img/logo.png",
"info": {
diff --git a/src/mail_templates/unexpected_exit.ejs b/src/mail_templates/unexpected_exit.ejs
index ac33d22cf..1760a969a 100644
--- a/src/mail_templates/unexpected_exit.ejs
+++ b/src/mail_templates/unexpected_exit.ejs
@@ -1,8 +1,8 @@
<%if (format === 'text') { %>
-Dear Cloudron Admin,
+Dear <%= cloudronName %> Admin,
-Unfortunately <%= program %> on <%= fqdn %> exited unexpectedly!
+Unfortunately <%= program %> exited unexpectedly!
Please see some excerpt of the logs below:
diff --git a/src/mailer.js b/src/mailer.js
index ee1ec44ec..a7b2bfcb3 100644
--- a/src/mailer.js
+++ b/src/mailer.js
@@ -148,19 +148,26 @@ function mailUserEventToAdmins(user, event) {
assert.strictEqual(typeof user, 'object');
assert.strictEqual(typeof event, 'string');
- getAdminEmails(function (error, adminEmails) {
- if (error) return debug('Error getting admins', error);
+ settings.getCloudronName(function (error, cloudronName) {
+ if (error) {
+ debug(error);
+ cloudronName = 'Cloudron';
+ }
- adminEmails = _.difference(adminEmails, [ user.email ]);
+ getAdminEmails(function (error, adminEmails) {
+ if (error) return debug('Error getting admins', error);
- var mailOptions = {
- from: mailConfig().from,
- to: adminEmails.join(', '),
- subject: util.format('[%s] %s %s', config.fqdn(), user.username || user.alternateEmail || user.email, event),
- text: render('user_event.ejs', { fqdn: config.fqdn(), user: user, event: event, format: 'text' }),
- };
+ adminEmails = _.difference(adminEmails, [ user.email ]);
- enqueue(mailOptions);
+ var mailOptions = {
+ from: mailConfig().from,
+ to: adminEmails.join(', '),
+ subject: util.format('[%s] %s %s', cloudronName, user.username || user.alternateEmail || user.email, event),
+ text: render('user_event.ejs', { user: user, event: event, format: 'text' }),
+ };
+
+ enqueue(mailOptions);
+ });
});
}
@@ -180,7 +187,6 @@ function sendInvite(user, invitor) {
user: user,
webadminUrl: config.adminOrigin(),
setupLink: config.adminOrigin() + '/api/v1/session/account/setup.html?reset_token=' + user.resetToken,
- fqdn: config.fqdn(),
invitor: invitor,
cloudronName: cloudronName,
cloudronAvatarUrl: config.adminOrigin() + '/api/v1/cloudron/avatar'
@@ -222,7 +228,6 @@ function userAdded(user, inviteSent) {
}
var templateData = {
- fqdn: config.fqdn(),
user: user,
inviteLink: inviteSent ? null : config.adminOrigin() + '/api/v1/session/account/setup.html?reset_token=' + user.resetToken,
cloudronName: cloudronName,
@@ -238,7 +243,7 @@ function userAdded(user, inviteSent) {
var mailOptions = {
from: mailConfig().from,
to: adminEmails.join(', '),
- subject: util.format('[%s] User %s added', config.fqdn(), user.alternateEmail || user.email),
+ subject: util.format('[%s] User %s added', cloudronName, user.alternateEmail || user.email),
text: render('user_added.ejs', templateDataText),
html: render('user_added.ejs', templateDataHTML)
};
@@ -277,7 +282,6 @@ function passwordReset(user) {
}
var templateData = {
- fqdn: config.fqdn(),
user: user,
resetLink: config.adminOrigin() + '/api/v1/session/password/reset.html?reset_token=' + user.resetToken,
cloudronName: cloudronName,
@@ -293,7 +297,7 @@ function passwordReset(user) {
var mailOptions = {
from: mailConfig().from,
to: user.alternateEmail || user.email,
- subject: util.format('[%s] Password Reset', config.fqdn()),
+ subject: util.format('[%s] Password Reset', cloudronName),
text: render('password_reset.ejs', templateDataText),
html: render('password_reset.ejs', templateDataHTML)
};
@@ -310,14 +314,21 @@ function appDied(app) {
getAdminEmails(function (error, adminEmails) {
if (error) return debug('Error getting admins', error);
- var mailOptions = {
- from: mailConfig().from,
- to: config.provider() === 'caas' ? 'support@cloudron.io' : adminEmails.join(', '),
- subject: util.format('[%s] App %s is down', config.fqdn(), app.fqdn),
- text: render('app_down.ejs', { fqdn: config.fqdn(), title: app.manifest.title, appFqdn: app.fqdn, format: 'text' })
- };
+ settings.getCloudronName(function (error, cloudronName) {
+ if (error) {
+ debug(error);
+ cloudronName = 'Cloudron';
+ }
- enqueue(mailOptions);
+ var mailOptions = {
+ from: mailConfig().from,
+ to: config.provider() === 'caas' ? 'support@cloudron.io' : adminEmails.join(', '),
+ subject: util.format('[%s] App %s is down', cloudronName, app.fqdn),
+ text: render('app_down.ejs', { title: app.manifest.title, appFqdn: app.fqdn, format: 'text' })
+ };
+
+ enqueue(mailOptions);
+ });
});
}
@@ -338,7 +349,6 @@ function boxUpdateAvailable(hasSubscription, newBoxVersion, changelog) {
var converter = new showdown.Converter();
var templateData = {
- fqdn: config.fqdn(),
webadminUrl: config.adminOrigin(),
newBoxVersion: newBoxVersion,
hasSubscription: hasSubscription,
@@ -357,7 +367,7 @@ function boxUpdateAvailable(hasSubscription, newBoxVersion, changelog) {
var mailOptions = {
from: mailConfig().from,
to: adminEmails.join(', '),
- subject: util.format('%s has a new update available', config.fqdn()),
+ subject: util.format('%s has a new update available', cloudronName),
text: render('box_update_available.ejs', templateDataText),
html: render('box_update_available.ejs', templateDataHTML)
};
@@ -384,7 +394,6 @@ function appUpdateAvailable(app, hasSubscription, info) {
var converter = new showdown.Converter();
var templateData = {
- fqdn: config.fqdn(),
webadminUrl: config.adminOrigin(),
hasSubscription: hasSubscription,
app: app,
@@ -426,7 +435,6 @@ function sendDigest(info) {
}
var templateData = {
- fqdn: config.fqdn(),
webadminUrl: config.adminOrigin(),
cloudronName: cloudronName,
cloudronAvatarUrl: config.adminOrigin() + '/api/v1/cloudron/avatar',
@@ -442,7 +450,7 @@ function sendDigest(info) {
var mailOptions = {
from: mailConfig().from,
to: adminEmails.join(', '),
- subject: util.format('[%s] Cloudron - Weekly activity digest', config.fqdn()),
+ subject: util.format('[%s] Cloudron - Weekly activity digest', cloudronName),
text: render('digest.ejs', templateDataText),
html: render('digest.ejs', templateDataHTML)
};
@@ -458,14 +466,21 @@ function outOfDiskSpace(message) {
getAdminEmails(function (error, adminEmails) {
if (error) return debug('Error getting admins', error);
- var mailOptions = {
- from: mailConfig().from,
- to: config.provider() === 'caas' ? 'support@cloudron.io' : adminEmails.join(', '),
- subject: util.format('[%s] Out of disk space alert', config.fqdn()),
- text: render('out_of_disk_space.ejs', { fqdn: config.fqdn(), message: message, format: 'text' })
- };
+ settings.getCloudronName(function (error, cloudronName) {
+ if (error) {
+ debug(error);
+ cloudronName = 'Cloudron';
+ }
- sendMails([ mailOptions ]);
+ var mailOptions = {
+ from: mailConfig().from,
+ to: config.provider() === 'caas' ? 'support@cloudron.io' : adminEmails.join(', '),
+ subject: util.format('[%s] Out of disk space alert', cloudronName),
+ text: render('out_of_disk_space.ejs', { cloudronName: cloudronName, message: message, format: 'text' })
+ };
+
+ sendMails([ mailOptions ]);
+ });
});
}
@@ -475,14 +490,21 @@ function backupFailed(error) {
getAdminEmails(function (error, adminEmails) {
if (error) return debug('Error getting admins', error);
- var mailOptions = {
- from: mailConfig().from,
- to: config.provider() === 'caas' ? 'support@cloudron.io' : adminEmails.join(', '),
- subject: util.format('[%s] Failed to backup', config.fqdn()),
- text: render('backup_failed.ejs', { fqdn: config.fqdn(), message: message, format: 'text' })
- };
+ settings.getCloudronName(function (error, cloudronName) {
+ if (error) {
+ debug(error);
+ cloudronName = 'Cloudron';
+ }
- enqueue(mailOptions);
+ var mailOptions = {
+ from: mailConfig().from,
+ to: config.provider() === 'caas' ? 'support@cloudron.io' : adminEmails.join(', '),
+ subject: util.format('[%s] Failed to backup', cloudronName),
+ text: render('backup_failed.ejs', { cloudronName: cloudronName, message: message, format: 'text' })
+ };
+
+ enqueue(mailOptions);
+ });
});
}
@@ -511,14 +533,21 @@ function oomEvent(program, context) {
getAdminEmails(function (error, adminEmails) {
if (error) return debug('Error getting admins', error);
- var mailOptions = {
- from: mailConfig().from,
- to: config.provider() === 'caas' ? 'support@cloudron.io' : adminEmails.join(', '),
- subject: util.format('[%s] %s exited unexpectedly', config.fqdn(), program),
- text: render('oom_event.ejs', { fqdn: config.fqdn(), program: program, context: context, format: 'text' })
- };
+ settings.getCloudronName(function (error, cloudronName) {
+ if (error) {
+ debug(error);
+ cloudronName = 'Cloudron';
+ }
- sendMails([ mailOptions ]);
+ var mailOptions = {
+ from: mailConfig().from,
+ to: config.provider() === 'caas' ? 'support@cloudron.io' : adminEmails.join(', '),
+ subject: util.format('[%s] %s exited unexpectedly', cloudronName, program),
+ text: render('oom_event.ejs', { cloudronName: cloudronName, program: program, context: context, format: 'text' })
+ };
+
+ sendMails([ mailOptions ]);
+ });
});
}
@@ -531,27 +560,41 @@ function unexpectedExit(program, context, callback) {
if (config.provider() !== 'caas') return callback(); // no way to get admins without db access
- var mailOptions = {
- from: mailConfig().from,
- to: 'support@cloudron.io',
- subject: util.format('[%s] %s exited unexpectedly', config.fqdn(), program),
- text: render('unexpected_exit.ejs', { fqdn: config.fqdn(), program: program, context: context, format: 'text' })
- };
+ settings.getCloudronName(function (error, cloudronName) {
+ if (error) {
+ debug(error);
+ cloudronName = 'Cloudron';
+ }
- sendMails([ mailOptions ], callback);
+ var mailOptions = {
+ from: mailConfig().from,
+ to: 'support@cloudron.io',
+ subject: util.format('[%s] %s exited unexpectedly', cloudronName, program),
+ text: render('unexpected_exit.ejs', { cloudronName: cloudronName, program: program, context: context, format: 'text' })
+ };
+
+ sendMails([ mailOptions ], callback);
+ });
}
function sendTestMail(email) {
assert.strictEqual(typeof email, 'string');
- var mailOptions = {
- from: mailConfig().from,
- to: email,
- subject: util.format('Test Email from %s', config.fqdn()),
- text: render('test.ejs', { fqdn: config.fqdn(), format: 'text'})
- };
+ settings.getCloudronName(function (error, cloudronName) {
+ if (error) {
+ debug(error);
+ cloudronName = 'Cloudron';
+ }
- enqueue(mailOptions);
+ var mailOptions = {
+ from: mailConfig().from,
+ to: email,
+ subject: util.format('Test Email from %s', cloudronName),
+ text: render('test.ejs', { cloudronName: cloudronName, format: 'text'})
+ };
+
+ enqueue(mailOptions);
+ });
}
function _getMailQueue() {