From f886a699169e416dca7a8d23d3874dfada24629d Mon Sep 17 00:00:00 2001
From: Erik Johnston <erik@matrix.org>
Date: Tue, 14 Jul 2020 10:00:53 +0100
Subject: [PATCH] Correctly pass app_name to all email templates. (#7829)

We didn't do this for e.g. registration emails.
---
 changelog.d/7829.bugfix |  1 +
 synapse/push/mailer.py  | 10 ++++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)
 create mode 100644 changelog.d/7829.bugfix

diff --git a/changelog.d/7829.bugfix b/changelog.d/7829.bugfix
new file mode 100644
index 0000000000..dcbf385de6
--- /dev/null
+++ b/changelog.d/7829.bugfix
@@ -0,0 +1 @@
+Fix bug where we did not always pass in `app_name` or `server_name` to email templates, including e.g. for registration emails.
diff --git a/synapse/push/mailer.py b/synapse/push/mailer.py
index dda560b2c2..a10dba0af6 100644
--- a/synapse/push/mailer.py
+++ b/synapse/push/mailer.py
@@ -269,7 +269,6 @@ class Mailer(object):
                 user_id, app_id, email_address
             ),
             "summary_text": summary_text,
-            "app_name": self.app_name,
             "rooms": rooms,
             "reason": reason,
         }
@@ -278,7 +277,7 @@ class Mailer(object):
             email_address, "[%s] %s" % (self.app_name, summary_text), template_vars
         )
 
-    async def send_email(self, email_address, subject, template_vars):
+    async def send_email(self, email_address, subject, extra_template_vars):
         """Send an email with the given information and template text"""
         try:
             from_string = self.hs.config.email_notif_from % {"app": self.app_name}
@@ -291,6 +290,13 @@ class Mailer(object):
         if raw_to == "":
             raise RuntimeError("Invalid 'to' address")
 
+        template_vars = {
+            "app_name": self.app_name,
+            "server_name": self.hs.config.server.server_name,
+        }
+
+        template_vars.update(extra_template_vars)
+
         html_text = self.template_html.render(**template_vars)
         html_part = MIMEText(html_text, "html", "utf8")
 
-- 
GitLab