From f886a699169e416dca7a8d23d3874dfada24629d Mon Sep 17 00:00:00 2001 From: Erik Johnston 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 000000000..dcbf385de --- /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 dda560b2c..a10dba0af 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")