Files
2025-05-09 08:36:55 +02:00

84 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Mail Attachments Extractor
Extrahiere E-Mail-Anhänge automatisch aus beliebigen E-Mail-Konten und speichere sie lokal. Unterstützt das Löschen von Duplikaten und das Anzeigen verfügbarer Ordner.
---
## 1. Konfiguration
Erstelle eine Konfigurationsdatei namens `config.json` auf Basis der Vorlage `config.example.json`:
```json
{
"accounts": [
{
"server": "E-Mail-Server",
"port": "E-Mail-Port",
"user": "Benutzername",
"password": "Passwort",
"remote_folders": ["Kommagetrennte Liste der Ordner auf dem E-Mail-Server"],
"local_folder": "Lokaler Ordner für die gespeicherten Dateien",
"since": "Datum im Format 09-May-2025"
}
]
}
```
**Hinweis:**
- `remote_folders` enthält die Namen der Ordner, aus denen Anhänge geladen werden sollen.
- `since` gibt das früheste Datum an, ab dem E-Mails berücksichtigt werden.
---
## 2. E-Mail-Anhänge laden
Lädt alle Anhänge gemäß der Konfiguration herunter:
```bash
python3 main.py
```
---
## 3. Duplikate löschen
Findet und entfernt doppelte Dateien im Zielordner unabhängig vom Dateinamen:
```bash
python3 delete_duplicates.py /zu/verarbeitender/Ordner
oder
python3 delete_duplicates.py C:\zu\verarbeitender\Ordner
```
**Hinweis:**
Aktuell werden die Dateien nicht gelöscht sondern nur umbenannt zu `deleted_Dateiname`
---
## 4. Verfügbare Ordner anzeigen
### 4.1 Ordner abrufen
Zeigt alle verfügbaren Ordner des aktuellen E-Mail-Kontos an:
```bash
python3 get_folders.py
```
### 4.2 Beispielausgabe
```
(\HasChildren) "/" INBOX
(\HasNoChildren \UnMarked \Trash) "/" INBOX/Trash
(\HasNoChildren \UnMarked \Junk) "/" INBOX/Junk
(\HasNoChildren \Sent) "/" INBOX/Sent
(\HasNoChildren \UnMarked \Drafts) "/" INBOX/Drafts
```
Die relevanten Ordnernamen sind die letzten Einträge jeder Zeile, z.B. `INBOX`, `INBOX/Trash` usw.