diff --git a/src/mailer.js b/src/mailer.js index 07f8f10a5..e2bb686c4 100644 --- a/src/mailer.js +++ b/src/mailer.js @@ -207,9 +207,6 @@ function mailUserEvent(mailTo, user, event) { assert.strictEqual(typeof user, 'object'); assert.strictEqual(typeof event, 'string'); - // skip sending mail to the same user - if (mailTo === user.email) return; - getMailConfig(function (error, mailConfig) { if (error) return debug('Error getting mail details:', error); diff --git a/src/notifications.js b/src/notifications.js index 6b29c6bcc..cb100eef3 100644 --- a/src/notifications.js +++ b/src/notifications.js @@ -134,6 +134,9 @@ function userAdded(user, callback) { callback = callback || NOOP_CALLBACK; actionForAllAdmins(function (admin, callback) { + // skip for the same user + if (admin.email === user.email || admin.email === user.fallbackEmail) return callback(); + mailer.userAdded(admin.email, user); add(admin.id, 'User added', `User ${user.fallbackEmail} was added`, '', callback); }, callback); @@ -146,6 +149,9 @@ function userRemoved(user, callback) { callback = callback || NOOP_CALLBACK; actionForAllAdmins(function (admin, callback) { + // skip for the same user + if (admin.email === user.email || admin.email === user.fallbackEmail) return callback(); + mailer.userRemoved(admin.email, user); add(admin.id, 'User removed', `User ${user.username || user.email || user.fallbackEmail} was removed`, '', callback); }, callback); @@ -159,6 +165,9 @@ function adminChanged(user, isAdmin, callback) { callback = callback || NOOP_CALLBACK; actionForAllAdmins(function (admin, callback) { + // skip for the same user + if (admin.email === user.email || admin.email === user.fallbackEmail) return callback(); + mailer.adminChanged(admin.email, user, isAdmin); add(admin.id, 'Admin status change', `User ${user.username || user.email || user.fallbackEmail} ${isAdmin ? 'is now an admin' : 'is no more an admin'}`, '/#/users', callback); }, callback);