From 63e16ec0a274f5a2f05395d296ed47769db91cf3 Mon Sep 17 00:00:00 2001
From: Julian Lam
Date: Mon, 25 Mar 2019 15:21:19 -0400
Subject: [PATCH] fix: #6911, email throttling options set
---
install/data/defaults.json | 2 ++
public/language/en-GB/admin/settings/email.json | 3 +++
src/emailer.js | 3 ++-
src/views/admin/settings/email.tpl | 13 +++++++++++++
4 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/install/data/defaults.json b/install/data/defaults.json
index fd9895983a..c99c67b42d 100644
--- a/install/data/defaults.json
+++ b/install/data/defaults.json
@@ -99,6 +99,8 @@
"maximumInvites": 0,
"username:disableEdit": 0,
"email:disableEdit": 0,
+ "email:sendmail:rateLimit": 2,
+ "email:sendmail:rateDelta": 1000,
"hideFullname": 0,
"allowGuestHandles": 0,
"disableRecentCategoryFilter": 0,
diff --git a/public/language/en-GB/admin/settings/email.json b/public/language/en-GB/admin/settings/email.json
index 50ad2e06ea..4a27edbeec 100644
--- a/public/language/en-GB/admin/settings/email.json
+++ b/public/language/en-GB/admin/settings/email.json
@@ -4,6 +4,9 @@
"address-help": "The following email address refers to the email that the recipient will see in the \"From\" and \"Reply To\" fields.",
"from": "From Name",
"from-help": "The from name to display in the email.",
+ "sendmail-rate-limit": "Send X emails...",
+ "sendmail-rate-delta": "... every X milliseconds",
+ "sendmail-rate-help": "Instructs the NodeBB mailer to limit the number of messages sent at once in order to not overwhelm email receiving services. These options do not apply if SMTP Transport is enabled (below).",
"smtp-transport": "SMTP Transport",
"smtp-transport.enabled": "Use an external email server to send emails",
diff --git a/src/emailer.js b/src/emailer.js
index 394cfbcbad..b0706ad986 100644
--- a/src/emailer.js
+++ b/src/emailer.js
@@ -27,7 +27,8 @@ Emailer.transports = {
sendmail: true,
newline: 'unix',
pool: true,
- rateLimit: 2,
+ rateLimit: meta.config['email:sendmail:rateLimit'],
+ rateDelta: meta.config['email:sendmail:rateDelta'],
}),
smtp: undefined,
};
diff --git a/src/views/admin/settings/email.tpl b/src/views/admin/settings/email.tpl
index 957787dadc..6cfd8e5a46 100644
--- a/src/views/admin/settings/email.tpl
+++ b/src/views/admin/settings/email.tpl
@@ -18,6 +18,19 @@