From 5108ad5a7dda88555f25a132151e967d102ab9a4 Mon Sep 17 00:00:00 2001 From: Andreas Knuth Date: Sun, 25 Jan 2026 15:36:56 -0600 Subject: [PATCH] catch exception --- email-worker/email_processing/bounce_handler.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/email-worker/email_processing/bounce_handler.py b/email-worker/email_processing/bounce_handler.py index 10e274b..625612d 100644 --- a/email-worker/email_processing/bounce_handler.py +++ b/email-worker/email_processing/bounce_handler.py @@ -18,7 +18,15 @@ class BounceHandler: @staticmethod def is_ses_bounce_notification(parsed_email) -> bool: """Check if email is from SES MAILER-DAEMON""" - from_header = (parsed_email.get('From') or '').lower() + try: + from_header = (parsed_email.get('From') or '').lower() + except (AttributeError, TypeError, KeyError): + # Malformed From header - safely extract raw value + try: + from_header = str(parsed_email.get_all('From', [''])[0]).lower() + except: + from_header = '' + return 'mailer-daemon@' in from_header and 'amazonses.com' in from_header def apply_bounce_logic( @@ -88,4 +96,4 @@ class BounceHandler: return parsed, True log("⚠ No bounced recipients found in bounce info", 'WARNING', worker_name) - return parsed, False + return parsed, False \ No newline at end of file