From e5dadc5c54accf02328c355c668c1142f518dd62 Mon Sep 17 00:00:00 2001 From: Christian Haschek Date: Tue, 23 Jan 2024 15:08:13 +0100 Subject: [PATCH] added decoding of subjects. should fix #73 --- python/mailserver3.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python/mailserver3.py b/python/mailserver3.py index b9e6a44..7f0c3e6 100644 --- a/python/mailserver3.py +++ b/python/mailserver3.py @@ -3,6 +3,7 @@ import ssl from aiosmtpd.controller import Controller from email.parser import BytesParser +from email.header import decode_header, make_header from email import policy import os import re @@ -52,6 +53,8 @@ async def handle_DATA(self, server, session, envelope): # Parse the email message = BytesParser(policy=policy.default).parsebytes(envelope.content) + subject = str(make_header(decode_header(message['subject']))) + # Separate HTML and plaintext parts plaintext = '' @@ -99,7 +102,7 @@ async def handle_DATA(self, server, session, envelope): edata = { - 'subject': message['subject'], + 'subject': subject, 'body': plaintext, 'htmlbody': self.replace_cid_with_attachment_id(html, attachments,filenamebase,em), 'from': message['from'],