This commit is contained in:
Andreas Knuth 2025-12-10 15:37:32 -06:00
parent 335a26f7dc
commit ee7b556211
2 changed files with 11 additions and 4 deletions

View File

@ -1,5 +1,6 @@
import sys
import email
from email.utils import getaddresses
if len(sys.argv) < 2:
print("Usage: python3 extract_email_headers.py <email_file>")
@ -9,9 +10,15 @@ file_path = sys.argv[1]
with open(file_path, 'rb') as f:
msg = email.message_from_bytes(f.read())
from_addr = msg.get('From', '')
to_addrs = msg.get_all('To', []) + msg.get_all('Cc', [])
recipients = ','.join([str(addr) for addr in to_addrs]) if to_addrs else ''
# From: Nur die reine Email-Adresse
from_header = msg.get('From', '')
from_name, from_addr = email.utils.parseaddr(from_header)
# Recipients: Alle To und Cc, nur reine Emails, kommagetrennt
to_addrs = getaddresses(msg.get_all('To', []))
cc_addrs = getaddresses(msg.get_all('Cc', []))
all_addrs = to_addrs + cc_addrs
recipients = ','.join([addr for name, addr in all_addrs if addr]) if all_addrs else ''
print(f'FROM:{from_addr}')
print(f'RECIPIENTS:{recipients}')

View File

@ -88,7 +88,7 @@ if [ -z "$FROM" ] || [ -z "$RECIPIENTS" ]; then
fi
# Domain aus erstem Recipient extrahieren und validieren
FIRST_RECIPIENT=$(echo "$RECIPIENTS" | cut -d',' -f1)
FIRST_RECIPIENT=$(echo "$RECIPIENTS" | cut -d',' -f1 | sed 's/.*<//' | sed 's/>.*//') # Reinige falls <email>
EXTRACTED_DOMAIN=$(echo "$FIRST_RECIPIENT" | cut -d'@' -f2)
if [ "$EXTRACTED_DOMAIN" != "$DOMAIN" ]; then