1 files changed, 12 insertions, 1 deletions
diff --git a/synapse/push/mailer.py b/synapse/push/mailer.py
index afdf439664..7ef64f8f6d 100644
--- a/synapse/push/mailer.py
+++ b/synapse/push/mailer.py
@@ -219,7 +219,7 @@ class Mailer(object):
if msgformat == "org.matrix.custom.html":
ret["body_text_html"] = safe_markup(event.content["formatted_body"])
else:
- ret["body_text_plain"] = event.content["body"]
+ ret["body_text_html"] = safe_text(event.content["body"])
return ret
@@ -301,6 +301,17 @@ def safe_markup(raw_html):
)))
+def safe_text(raw_text):
+ """
+ Process text: treat it as HTML but escape any tags (ie. just escape the
+ HTML) then linkify it.
+ """
+ return jinja2.Markup(bleach.linkify(bleach.clean(
+ raw_text, tags=[], attributes={},
+ strip=False
+ )))
+
+
def deduped_ordered_list(l):
seen = set()
ret = []
|