diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json index 1b2888536b9..8bd722e7a08 100644 --- a/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/packages/rocketchat-i18n/i18n/en.i18n.json @@ -1106,6 +1106,7 @@ "Office_hours_updated": "Office hours updated", "Offline": "Offline", "Offline_DM_Email": "You have been direct messaged by __user__", + "User_Needs_Approval": "A new user registered and needs approval", "Offline_form": "Offline form", "Offline_form_unavailable_message": "Offline form unavailable message", "Offline_Link_Message": "GO TO MESSAGE", diff --git a/server/lib/accounts.js b/server/lib/accounts.js index 1cffa6d39a0..9b708eee8f8 100644 --- a/server/lib/accounts.js +++ b/server/lib/accounts.js @@ -91,6 +91,32 @@ Accounts.onCreateUser(function(options, user = {}) { } } + if (!user.active) { + user.emails.some((email) => { + + const header = RocketChat.placeholders.replace(RocketChat.settings.get('Email_Header') || ''); + const footer = RocketChat.placeholders.replace(RocketChat.settings.get('Email_Footer') || ''); + const divisorMessage = '
A user with email ${options.email} has been registered.
Please check Administration -> Users to activate or delete it.`;
+
+ emailSubject = TAPi18n.__('User_Needs_Approval');
+
+ RocketChat.models.Roles.findUsersInRole('admin').forEach(function (adminUser) {
+ email = {
+ to: adminUser.emails[0].address,
+ from: RocketChat.settings.get('From_Email'),
+ subject: `[${ siteName }] ${ emailSubject }`,
+ html: header + messageHTML + divisorMessage + footer
+ };
+ });
+
+ Meteor.defer(() => {
+ Email.send(email);
+ });
+ });
+ }
+
return user;
});