From f2fcaa6c607d7eadb95dd887b49d9cecab1efd34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0=20Casaj=C3=BAs?= Date: Mon, 18 Mar 2024 14:27:38 +0100 Subject: [PATCH] Cleanup also messsage-id headers from linebreaks (#2067) --- app/email_utils.py | 3 ++- email_handler.py | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/email_utils.py b/app/email_utils.py index cb42bb8b..0ab5626c 100644 --- a/app/email_utils.py +++ b/app/email_utils.py @@ -494,9 +494,10 @@ def delete_header(msg: Message, header: str): def sanitize_header(msg: Message, header: str): """remove trailing space and remove linebreak from a header""" + header_lowercase = header.lower() for i in reversed(range(len(msg._headers))): header_name = msg._headers[i][0].lower() - if header_name == header.lower(): + if header_name == header_lowercase: # msg._headers[i] is a tuple like ('From', 'hey@google.com') if msg._headers[i][1]: msg._headers[i] = ( diff --git a/email_handler.py b/email_handler.py index c9d0ad23..aa2b06b2 100644 --- a/email_handler.py +++ b/email_handler.py @@ -2040,10 +2040,11 @@ def handle(envelope: Envelope, msg: Message) -> str: return status.E204 # sanitize email headers - sanitize_header(msg, "from") - sanitize_header(msg, "to") - sanitize_header(msg, "cc") - sanitize_header(msg, "reply-to") + sanitize_header(msg, headers.FROM) + sanitize_header(msg, headers.TO) + sanitize_header(msg, headers.CC) + sanitize_header(msg, headers.REPLY_TO) + sanitize_header(msg, headers.MESSAGE_ID) LOG.d( "==>> Handle mail_from:%s, rcpt_tos:%s, header_from:%s, header_to:%s, "