Erstellt via ATI #4802 - Standardaufnahmeverfahren
| Eigenschaft | Wert |
|---|---|
| Name | MailCleaner_V8_Universal |
| Typ | Desktop GUI Tool (PyQt6) |
| Hauptdatei | mail_imap_cleaner_v1.py |
| Sprache | Python 3 |
| Status | Funktionsfaehig / Produktiv |
-
Multi-Account IMAP Management
- Mehrere E-Mail-Konten verwalten (GMX, Gmail, etc.)
- IMAP4_SSL Verbindung mit Keyring-Passwortspeicherung
- Auto-Detect fuer Papierkorb-Ordner
-
Regelbasiertes Aufraeumen
- Filter: Alter (Tage), Absender, Betreff, Groesse (MB)
- Regeln pro Account oder fuer alle Accounts
- Einzel- oder Batch-Ausfuehrung
-
Grosse Mails Scanner
- Mails ueber einstellbarem Schwellwert (MB) finden
- Checkbox-basierte Auswahl zum Loeschen
- Zeigt Betreff, Groesse, Datum an
-
Sicherheitsmodus
- Safe Mode: Mails werden erst in Papierkorb verschoben
- Unsafe Mode: Mails werden sofort endgueltig geloescht
- Toggle in Einstellungen
-
Dark Theme UI
- Dunkles Farbschema fuer die gesamte Anwendung
- Tab-basiertes Layout (Accounts, Regeln, Grosse Mails, Settings, Log)
mail_imap_cleaner_v1.py (Einzeldatei-Architektur)
├── Data Models
│ ├── MailAccount (dataclass)
│ └── CleanRule (dataclass)
├── IMAP Logic
│ └── ImapService (Verbindung, Suche, Papierkorb-Erkennung)
├── Worker (QThread)
│ ├── run_rules() - Regelausfuehrung
│ ├── scan_large() - Grosse Mails finden
│ └── delete_items() - Markierte loeschen
├── GUI Dialogs
│ ├── AccountDialog
│ └── RuleDialog
└── MainWindow
├── Tab: Accounts
├── Tab: Regeln
├── Tab: Grosse Mails
├── Tab: Einstellungen
└── Tab: Log
| Paket | Verwendung | Typ |
|---|---|---|
| PyQt6 | GUI Framework | Extern (pip) |
| keyring | Sichere Passwortspeicherung | Extern (pip, optional) |
| imaplib | IMAP Protokoll | Stdlib |
| E-Mail Parsing | Stdlib | |
| json | Konfiguration speichern | Stdlib |
| logging | Log-Ausgaben | Stdlib |
| dataclasses | Datenmodelle | Stdlib |
- Konfigurationsdatei:
~/.mail_cleaner/config.json - Enthaelt: Accounts, Regeln, Einstellungen (safe_mode)
- Passwoerter via
keyring(OS-Credential-Store)
- Saubere Trennung von Datenmodellen, IMAP-Logik und GUI
- Thread-basierte Verarbeitung (keine GUI-Blockade)
- Safe-Mode als Default schuetzt vor versehentlichem Datenverlust
- Auto-Detect fuer Provider-spezifische Ordnernamen
- Einzeldatei-Architektur (607 Zeilen) - koennte modularisiert werden
- Kein requirements.txt vorhanden
- Kontextmenu bei Regeln hat einen Bug (triggered-Signal wird sofort ausgewertet statt verbunden)
- Kein Undo fuer Loeschaktionen
- Nur INBOX wird gescannt, keine weiteren Ordner