handle error

This commit is contained in:
Antonio J. Delgado 2025-03-17 14:15:31 +02:00
parent b4464ce579
commit 7bb86c323e

View file

@ -301,10 +301,18 @@ class ImapFilter:
message = email.message_from_string(part)
decoded_field = email.header.decode_header(message.get(mfilter['field'], ""))
for raw_field_data in decoded_field:
if isinstance(raw_field_data[0], str):
if isinstance(raw_field_data[0], str):
field_data = raw_field_data[0]
else:
field_data = raw_field_data[0].decode()
try:
field_data = raw_field_data[0].decode()
except UnicodeDecodeError as error:
self._log.error(
"Error decoding field data as UTF-8. Data: %s. Error: %s",
raw_field_data[0],
error
)
break
if 'regexp' in mfilter:
if not isinstance(mfilter['regexp'], list):
mfilter['regexp'] = [ mfilter['regexp'] ]