diff --git a/home/templates/admin.html b/home/templates/admin.html
index d78ad7cc7921cc4869a9b2e509383dc0eeabf0eb..6be8059b2724f64a261a30122446e0a895941292 100644
--- a/home/templates/admin.html
+++ b/home/templates/admin.html
@@ -141,7 +141,7 @@
 		{% else %}
 			const errors = "";
 		{% endif %}
-		{% if not settings.user_notified %}
+		{% if not settings.user_notified and settings.allow_mass_mail %}
 			function mail_inscrits() {
 				if (confirm(
 					`${errors}Cette action va envoyer {{ user_email_nb }} emails.\nÊtes-vous sur de vouloir continuer ?`
@@ -149,7 +149,7 @@
 					window.location = "{% url 'email_users' %}";
 			}
 		{% endif %}
-		{% if not settings.orga_notified %}
+		{% if not settings.orga_notified and settings.allow_mass_mail %}
 			function mail_orgas() {
 				if (confirm(
 					`${errors}Cette action va envoyer {{ orga_email_nb }} emails.\nÊtes-vous sur de vouloir continuer ?`
@@ -159,7 +159,11 @@
 		{% endif %}
 	</script>
 	<p class="centered"><i class="fas fa-exclamation-triangle"></i> N'ENVOYER LES EMAILS QUE SI VOUS ÊTES SUR DE VOUS ! <i class="fas fa-exclamation-triangle"></i></p>
-
+	{% if not settings.allow_mass_mail %}
+		<p>L'envoi d'emails collectifs est désactivé dans les réglages. Activez le avant d'envoyer
+			et redésactivez le après.
+		</p>
+	{% endif %}
 	{% if settings.user_notified %}
 		<p>Un email communiquant la répartition aux utilisateurs a déjà été envoyé.
 			(Modifiez les paramètres s'il faut en renvoyer un)
@@ -176,12 +180,12 @@
 	{% endif %}
 
 	<div class="flex wrap">
-		{% if settings.user_notified %}
+		{% if settings.user_notified or not settings.allow_mass_mail %}
 			<button class="button disabled">Email aux inscrits</button>
 		{% else %}
 			<button class="button" onclick="mail_inscrits();">Email aux inscrits</button>
 		{% endif %}
-		{% if settings.orga_notified %}
+		{% if settings.orga_notified or not settings.allow_mass_mail %}
 			<button class="button disabled">Email aux orgas</button>
 		{% else %}
 			<button class="button" onclick="mail_orgas();">Email aux orgas</button>
diff --git a/home/views.py b/home/views.py
index f56f51efa8bd40c5484ea54de2754ba8abccc444..b6191b4cdc288f9d67a09552ac00f0e69eacee0e 100644
--- a/home/views.py
+++ b/home/views.py
@@ -331,7 +331,11 @@ class SendEmailBase(SuperuserRequiredMixin, RedirectView):
 		raise NotImplementedError("{}.send_emails isn't implemented".format(self.__class__.__name__))
 
 	def get_redirect_url(self, *args, **kwargs):
-		self.send_emails()
+		settings = SiteSettings.load()
+		if settings.allow_mass_mail:
+			self.send_emails()
+		else:
+			messages.error(self.request, "L'envoi de mail de masse est désactivé dans les réglages")
 		return reverse(self.pattern_name)
 
 class SendUserEmail(SendEmailBase):
diff --git a/site_settings/models.py b/site_settings/models.py
index e24f7361309f83ac90372ba542a87a29d29d3501..9b061a521c9825943bec25dceebde6ad698a7c27 100644
--- a/site_settings/models.py
+++ b/site_settings/models.py
@@ -58,6 +58,11 @@ class SiteSettings(SingletonModel):
 
 	activity_submission_form = models.CharField("Lien pour soumettre une activité", max_length=200, default="")
 
+	allow_mass_mail = models.BooleanField(
+		"Permettre l'envoi de mails collectifs (aux utilisateurs et orgas)", default=False,
+		help_text="Par sécurité, n'activez ceci qu'au moment d'envoyer les emails et désactivez le après"
+	)
+
 	user_notified = models.BooleanField(
 		"L'email de répartition des activités a été envoyé", default=False,
 		help_text="Ce champ existe pour éviter l'envoie de plusieurs mails successifs. Le decocher permet de renvoyer tous les mails"