84 lines
1.8 KiB
Markdown
84 lines
1.8 KiB
Markdown
# 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.
|
||
|