Moin zusammen,
habe mir mal ein python3 Script erstellt was mir auf dem Mac über die Schnellaktionen ein exportiertes mbox Postfach (Spam Postfach) die E-Mails, Betreff und die Server IP-Adressen extrahiert. Mit diesen lässt sich nun wunderbar Filter und Regeln erstellen zur Spamabwehr. Es werden die Localhost-Adressen entfernt. Wer will kann dies ja noch erweitern oder verbessern. Es ist ja sicher auch auf anderen Systemen anwendbar. Schön wäre wenn es direkt aus dem Mailpostfach gehen würde, mal gucken vielleicht erweitere ich es noch.
import sys
import os
import re
from datetime import datetime
def extract_mbox_info(mbox_file):
with open(mbox_file, 'r', encoding='utf-8', errors='ignore') as f:
content = f.read()
# Extrahieren der From-Adressen
from_addresses = re.findall(r'^From: .*?<(.*?)>', content, re.MULTILINE)
# Extrahieren der Subject-Zeilen
subjects = re.findall(r'^Subject: (.*)', content, re.MULTILINE)
# Extrahieren der Received IP-Adressen
received_ips = re.findall(r'^Received: .*?\[(.*?)\]', content, re.MULTILINE)
received_ips = [ip for ip in received_ips if ip != '127.0.0.1']
return from_addresses, subjects, received_ips
def main():
if len(sys.argv) != 2:
print("Bitte geben Sie den Pfad zur mbox-Datei als Argument an.")
sys.exit(1)
mbox_file = sys.argv[1]
mbox_dir = os.path.dirname(mbox_file)
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
output_file = os.path.join(mbox_dir, f"mbox_extract_{timestamp}.txt")
from_addresses, subjects, received_ips = extract_mbox_info(mbox_file)
with open(output_file, 'w', encoding='utf-8') as f:
f.write("From:\n")
f.write("\n".join(from_addresses) + "\n\n")
f.write("Subject:\n")
f.write("\n".join(subjects) + "\n\n")
f.write("Received:\n")
f.write("\n".join(received_ips) + "\n")
print(f"Extraktion abgeschlossen. Ergebnisse wurden in {output_file} gespeichert.")
if __name__ == "__main__":
main()