]> git.ipfire.org Git - ipfire.org.git/commitdiff
messages: Ensure that addresses are properly encoded
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 16 Jan 2020 12:57:52 +0000 (12:57 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 16 Jan 2020 13:03:55 +0000 (13:03 +0000)
Email addresses with non-ASCII characters must be properly
encoded.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/backend/messages.py

index 7f06e47bde0acae5cbbf6df2f9956e9225f642a0..0f0c56d2ba661b94a3f6855ab3f4afa82fca0105 100644 (file)
@@ -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(