From 2eec2c6ab88fdd99460c895ade544a059376ffdf Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 16 Jan 2020 12:57:52 +0000 Subject: [PATCH] messages: Ensure that addresses are properly encoded Email addresses with non-ASCII characters must be properly encoded. Signed-off-by: Michael Tremer --- src/backend/messages.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/backend/messages.py b/src/backend/messages.py index 7f06e47b..0f0c56d2 100644 --- a/src/backend/messages.py +++ b/src/backend/messages.py @@ -126,10 +126,17 @@ class Messages(misc.Object): message_part = email.message_from_string(message_part.decode()) for header in message_part: + value = message_part[header] + + # Make sure addresses are properly encoded + realname, address = email.utils.parseaddr(value) + if realname and address: + value = email.utils.formataddr((realname, address)) + try: - message.replace_header(header, message_part[header]) + message.replace_header(header, value) except KeyError: - message.add_header(header, message_part[header]) + message.add_header(header, value) # Create a MIMEText object out of it message_part = email.mime.text.MIMEText( -- 2.47.3