This commit is contained in:
Andreas Knuth 2026-02-10 18:41:55 -06:00
parent 63d12f8c7c
commit ec6bb989f2
1 changed files with 13 additions and 2 deletions

View File

@ -127,6 +127,17 @@ class MessageProcessor:
# 5. PARSING & BOUNCE LOGIC
try:
parsed = self.parser.parse_bytes(raw_bytes)
# --- FIX START: Sanitize Malformed Headers ---
# Fix für Microsofts <[uuid]@domain> Message-IDs, die Python crashen lassen
current_msg_id = parsed.get('Message-ID', '')
if current_msg_id and ('[' in current_msg_id or ']' in current_msg_id):
# Klammern entfernen, aber spitze Klammern behalten
clean_id = current_msg_id.replace('[', '').replace(']', '')
parsed.replace_header('Message-ID', clean_id)
log(f" 🔧 Sanitized malformed Message-ID", 'INFO', worker_name)
# --- FIX END ---
subject = parsed.get('Subject', '(no subject)')
# Bounce header rewriting
@ -143,10 +154,10 @@ class MessageProcessor:
else:
from_addr_final = from_addr
# ⭐ HIER NEU: Marker für alle Emails von extern setzen
# Marker für alle Emails von extern setzen
if not skip_rules: # Nur wenn nicht bereits processed
parsed['X-SES-Worker-Processed'] = 'delivered'
raw_bytes = parsed.as_bytes()
raw_bytes = parsed.as_bytes() # <--- Hier knallte es vorher
except Exception as e:
# --- VERBESSERTES ERROR LOGGING ---