diff --git a/src/config.js b/src/config.js index 16f89e178..ae0e2147e 100644 --- a/src/config.js +++ b/src/config.js @@ -33,6 +33,7 @@ exports = module.exports = { adminFqdn: adminFqdn, appFqdn: appFqdn, zoneName: zoneName, + adminEmail: adminEmail, isDev: isDev, @@ -148,6 +149,10 @@ function get(key) { return safe.query(data, key); } +function adminEmail() { + return '"Cloudron" ' + get('adminEmail'); +} + function apiServerOrigin() { return get('apiServerOrigin'); } diff --git a/src/mailer.js b/src/mailer.js index cb757fad4..80414e5ee 100644 --- a/src/mailer.js +++ b/src/mailer.js @@ -214,7 +214,7 @@ function mailUserEventToAdmins(user, event) { adminEmails = _.difference(adminEmails, [ user.email ]); var mailOptions = { - from: config.get('adminEmail'), + from: config.adminEmail(), to: adminEmails.join(', '), subject: util.format('%s %s in Cloudron %s', user.username, event, config.fqdn()), text: render('user_event.ejs', { fqdn: config.fqdn(), username: user.username, email: user.email, event: event, format: 'text' }), @@ -240,7 +240,7 @@ function sendInvite(user, invitor) { }; var mailOptions = { - from: config.get('adminEmail'), + from: config.adminEmail(), to: user.email, subject: util.format('Welcome to Cloudron %s', config.fqdn()), text: render('welcome_user.ejs', templateData) @@ -263,7 +263,7 @@ function userAdded(user, inviteSent) { var inviteLink = inviteSent ? null : config.adminOrigin() + '/api/v1/session/password/setup.html?reset_token=' + user.resetToken; var mailOptions = { - from: config.get('adminEmail'), + from: config.adminEmail(), to: adminEmails.join(', '), subject: util.format('%s added in Cloudron %s', user.username, config.fqdn()), text: render('user_added.ejs', { fqdn: config.fqdn(), username: user.username, email: user.email, inviteLink: inviteLink, format: 'text' }), @@ -298,7 +298,7 @@ function passwordReset(user) { var resetLink = config.adminOrigin() + '/api/v1/session/password/reset.html?reset_token=' + user.resetToken; var mailOptions = { - from: config.get('adminEmail'), + from: config.adminEmail(), to: user.email, subject: 'Password Reset Request', text: render('password_reset.ejs', { fqdn: config.fqdn(), username: user.username, resetLink: resetLink, format: 'text' }) @@ -316,7 +316,7 @@ function appDied(app) { if (error) return console.log('Error getting admins', error); var mailOptions = { - from: config.get('adminEmail'), + from: config.adminEmail(), to: adminEmails.concat('support@cloudron.io').join(', '), subject: util.format('App %s is down', app.location), text: render('app_down.ejs', { fqdn: config.fqdn(), title: app.manifest.title, appFqdn: config.appFqdn(app.location), format: 'text' }) @@ -334,7 +334,7 @@ function boxUpdateAvailable(newBoxVersion, changelog) { if (error) return console.log('Error getting admins', error); var mailOptions = { - from: config.get('adminEmail'), + from: config.adminEmail(), to: adminEmails.join(', '), subject: util.format('%s has a new update available', config.fqdn()), text: render('box_update_available.ejs', { fqdn: config.fqdn(), webadminUrl: config.adminOrigin(), newBoxVersion: newBoxVersion, changelog: changelog, format: 'text' }) @@ -352,7 +352,7 @@ function appUpdateAvailable(app, updateInfo) { if (error) return console.log('Error getting admins', error); var mailOptions = { - from: config.get('adminEmail'), + from: config.adminEmail(), to: adminEmails.join(', '), subject: util.format('%s has a new update available', app.fqdn), text: render('app_update_available.ejs', { fqdn: config.fqdn(), webadminUrl: config.adminOrigin(), app: app, updateInfo: updateInfo, format: 'text' }) @@ -366,7 +366,7 @@ function outOfDiskSpace(message) { assert.strictEqual(typeof message, 'string'); var mailOptions = { - from: config.get('adminEmail'), + from: config.adminEmail(), to: 'admin@cloudron.io', 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' }) @@ -382,7 +382,7 @@ function sendCrashNotification(program, context) { assert.strictEqual(typeof context, 'string'); var mailOptions = { - from: config.get('adminEmail'), + from: config.adminEmail(), to: 'admin@cloudron.io', subject: util.format('[%s] %s exited unexpectedly', config.fqdn(), program), text: render('crash_notification.ejs', { fqdn: config.fqdn(), program: program, context: context, format: 'text' }) @@ -403,7 +403,7 @@ function sendFeedback(user, type, subject, description) { type === exports.FEEDBACK_TYPE_APP_ERROR); var mailOptions = { - from: config.get('adminEmail'), + from: config.adminEmail(), to: 'support@cloudron.io', subject: util.format('[%s] %s - %s', type, config.fqdn(), subject), text: render('feedback.ejs', { fqdn: config.fqdn(), type: type, user: user, subject: subject, description: description, format: 'text'})