diff --git a/app/email_utils.py b/app/email_utils.py index e4cf8594..7af8078b 100644 --- a/app/email_utils.py +++ b/app/email_utils.py @@ -702,26 +702,38 @@ def encode_text(text: str, encoding: str = "base64") -> str: def add_header(msg: Message, text_header, html_header) -> Message: if msg.get_content_type() == "text/plain": + encoding = get_encoding(msg) payload = msg.get_payload() if type(payload) is str: clone_msg = copy(msg) - payload = f"{text_header}\n---\n{payload}" + to_append = encode_text(f"{text_header}\n---\n", encoding) + payload = f"{to_append}{payload}" clone_msg.set_payload(payload) return clone_msg elif msg.get_content_type() == "text/html": + encoding = get_encoding(msg) payload = msg.get_payload() if type(payload) is str: - - new_payload = f""" + new_payload = ( + encode_text( + f""" - +
{html_header}
{payload}""", + encoding, + ) + + payload + + encode_text( + """
- """ + """, + encoding, + ) + ) clone_msg = copy(msg) clone_msg.set_payload(new_payload) return clone_msg