From f7c59390c6fbb8bed05a5aad26ac06ae3731fa20 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Thu, 13 Jan 2022 10:45:00 +0100 Subject: [PATCH] Fixed issue introduced by lxml 4.7+ Looks like the html.tostring() function does not respect the encoding setting anymore, the ascii value in particular... --- modoboa/lib/email_utils.py | 5 ++++- .../sample_messages/multipart-output-html_links.txt | 10 +++++----- .../sample_messages/multipart-output-html_nolinks.txt | 10 +++++----- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/modoboa/lib/email_utils.py b/modoboa/lib/email_utils.py index 7bca3e92a..ab81ad1d5 100644 --- a/modoboa/lib/email_utils.py +++ b/modoboa/lib/email_utils.py @@ -251,7 +251,10 @@ class Email(object): add_nofollow=True, safe_attrs=safe_attrs ) - mail_text = lxml.html.tostring(cleaner.clean_html(html)) + mail_text = lxml.html.tostring( + cleaner.clean_html(html), encoding="unicode") + with open("/tmp/output.txt", "w") as fp: + fp.write(mail_text) return smart_text(mail_text) def _map_cid(self, url): diff --git a/modoboa/lib/tests/sample_messages/multipart-output-html_links.txt b/modoboa/lib/tests/sample_messages/multipart-output-html_links.txt index 2dc0cbf5e..92c507ec5 100644 --- a/modoboa/lib/tests/sample_messages/multipart-output-html_links.txt +++ b/modoboa/lib/tests/sample_messages/multipart-output-html_links.txt @@ -12,9 +12,9 @@ someone someone@example.net -Some HTML text, a link, an -embedded image and an external image.
-
-
-Nifty!
+Some HTML text, a link, an +embedded image and an external image.
+
+
+Nifty!
\ No newline at end of file diff --git a/modoboa/lib/tests/sample_messages/multipart-output-html_nolinks.txt b/modoboa/lib/tests/sample_messages/multipart-output-html_nolinks.txt index df460a9e4..56d847fb8 100644 --- a/modoboa/lib/tests/sample_messages/multipart-output-html_nolinks.txt +++ b/modoboa/lib/tests/sample_messages/multipart-output-html_nolinks.txt @@ -12,9 +12,9 @@ someone someone@example.net -Some HTML text, a link, an -embedded image and an external image.
-
-
-Nifty!
+Some HTML text, a link, an +embedded image and an external image.
+
+
+Nifty!
\ No newline at end of file