diff --git a/app/assets/javascripts/discourse/templates/user/preferences.hbs b/app/assets/javascripts/discourse/templates/user/preferences.hbs
index b2fd4443d..eb80ccd41 100644
--- a/app/assets/javascripts/discourse/templates/user/preferences.hbs
+++ b/app/assets/javascripts/discourse/templates/user/preferences.hbs
@@ -183,7 +183,9 @@
       {{preference-checkbox labelKey="user.email_in_reply_to" checked=model.user_option.email_in_reply_to}}
       {{preference-checkbox labelKey="user.email_private_messages" checked=model.user_option.email_private_messages}}
       {{preference-checkbox labelKey="user.email_direct" checked=model.user_option.email_direct}}
-      <span class="pref-mailing-list-mode">{{preference-checkbox labelKey="user.mailing_list_mode" checked=model.user_option.mailing_list_mode}}</span>
+      {{#unless siteSettings.disable_mailing_list_mode}}
+        {{preference-checkbox labelKey="user.mailing_list_mode" checked=model.user_option.mailing_list_mode}}
+      {{/unless}}
       {{preference-checkbox labelKey="user.email_always" checked=model.user_option.email_always}}
       {{#unless model.user_option.email_always}}
       <div class='instructions'>
diff --git a/app/models/user_option.rb b/app/models/user_option.rb
index 91995e1b1..daa41d0da 100644
--- a/app/models/user_option.rb
+++ b/app/models/user_option.rb
@@ -44,6 +44,11 @@ class UserOption < ActiveRecord::Base
     true
   end
 
+  def mailing_list_mode
+    return false if SiteSetting.disable_mailing_list_mode
+    super
+  end
+
   def update_tracked_topics
     return unless auto_track_topics_after_msecs_changed?
     TrackedTopicsUpdater.new(id, auto_track_topics_after_msecs).call
diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml
index 7811d97b0..a4dcb5554 100644
--- a/config/locales/server.en.yml
+++ b/config/locales/server.en.yml
@@ -1256,6 +1256,7 @@ en:
     default_email_private_messages: "Send an email when someone messages the user by default."
     default_email_direct: "Send an email when someone quotes/replies to/mentions or invites the user by default."
     default_email_mailing_list_mode: "Send an email for every new post by default."
+    disable_mailing_list_mode: "Disallow users from enabling mailing list mode."
     default_email_always: "Send an email notification even when the user is active by default."
     default_email_previous_replies: "Include previous replies in emails by default."
 
diff --git a/config/site_settings.yml b/config/site_settings.yml
index 142090e41..7247038e0 100644
--- a/config/site_settings.yml
+++ b/config/site_settings.yml
@@ -1083,6 +1083,9 @@ user_preferences:
   default_email_private_messages: true
   default_email_direct: true
   default_email_mailing_list_mode: false
+  disable_mailing_list_mode:
+    default: false
+    client: true
   default_email_always: false
   default_email_previous_replies:
     enum: 'PreviousRepliesSiteSetting'
diff --git a/spec/models/user_option_spec.rb b/spec/models/user_option_spec.rb
index e3144989a..50cfd6623 100644
--- a/spec/models/user_option_spec.rb
+++ b/spec/models/user_option_spec.rb
@@ -18,6 +18,28 @@ describe UserOption do
 
   end
 
+  describe "#mailing_list_mode" do
+    let!(:forum_user) { Fabricate(:user) }
+    let!(:mailing_list_user) { Fabricate(:user) }
+
+    before do
+      forum_user.user_option.update(mailing_list_mode: false)
+      mailing_list_user.user_option.update(mailing_list_mode: true)
+    end
+
+    it "should return false when `SiteSetting.disable_mailing_list_mode` is enabled" do
+      SiteSetting.disable_mailing_list_mode = true
+      expect(forum_user.user_option.mailing_list_mode).to eq(false)
+      expect(mailing_list_user.user_option.mailing_list_mode).to eq(false)
+    end
+
+    it "should return the stored value when `SiteSetting.disable_mailing_list_mode` is disabled" do
+      SiteSetting.disable_mailing_list_mode = false
+      expect(forum_user.user_option.mailing_list_mode).to eq(false)
+      expect(mailing_list_user.user_option.mailing_list_mode).to eq(true)
+    end
+  end
+
   describe ".redirected_to_top" do
     let!(:user) { Fabricate(:user) }