49 lines
2.0 KiB
Markdown
49 lines
2.0 KiB
Markdown
# jnj_dump_recipient_msgs_v1.0.py
|
|
|
|
**Verze:** 1.0 · **Datum:** 2026-06-16
|
|
|
|
JNJ-native (pywin32 / MAPI). Najde **všechny e-maily danému příjemci** (default
|
|
Hušták) napříč vybranými složkami, **uloží je jako `.msg`** a u každého **vypíše
|
|
diagnostické MAPI vlastnosti čtené ze živé položky**. Účel: ověřit, zda
|
|
vlastnosti (GAL jméno, ReportText, send-account, Message-ID…) zůstanou i
|
|
v uloženém `.msg` (porovnání olefilem doma).
|
|
|
|
Skript **nic neodesílá ani nemaže** — jen čte a ukládá `.msg` kopie.
|
|
|
|
## Spuštění (JNJ stroj s Outlookem)
|
|
```
|
|
pip install pywin32
|
|
python jnj_dump_recipient_msgs_v1.0.py
|
|
```
|
|
|
|
## Co vypíše u každého e-mailu (ze ŽIVÉ položky)
|
|
- složka, role (To/Cc), `item.Sent`, `PR_MESSAGE_FLAGS` (0x0E07)
|
|
- subjekt, čas odeslání
|
|
- **Msg-ID** `0x1035`
|
|
- **SenderName** `0x0C1A` + addrtype `0x0C1E`
|
|
- **SentRepresentingName** `0x0042` + addrtype `0x0064`
|
|
- **PrimarySendAccount** `0x0E28` (odhalí posílání „jako buzalka.cz")
|
|
- **ReportText** `0x1001` (NDR „could not be sent…" = selhání)
|
|
|
|
…a pak položku uloží jako `.msg` do `OUTPUT_DIR`.
|
|
|
|
## Konfigurace
|
|
- `TARGET_EMAIL` — koho hledat (default `rastislav.hustak@fntt.sk`).
|
|
- `SCAN_FOLDERS` — názvy složek (vč. podsložek); default Sent Items, Drafts,
|
|
Deleted Items, Archive, Inbox. `SCAN_ALL=True` = celá schránka (pomalé).
|
|
- `OUTPUT_DIR` — kam ukládat `.msg` (default `C:\Users\vbuzalka\hustak_dump`).
|
|
- `SENDER_SMTP` — účet, jehož store se prohledává.
|
|
|
|
## Po spuštění
|
|
1. Porovnej výpis (živé vlastnosti) — uvidíš, který e-mail má GAL jméno /
|
|
ReportText / send-account buzalka.cz.
|
|
2. Přenes `.msg` z `OUTPUT_DIR` domů (libovolně, např. přes msgreceiver
|
|
upload nebo ručně) a olefilem zkontroluj, zda jsou v uloženém `.msg`
|
|
stejné vlastnosti jako na živé položce.
|
|
|
|
## Pozn.
|
|
- Match příjemce přes `PR_SMTP_ADDRESS` (0x39FE) → spolehlivě i pro interní
|
|
Exchange příjemce.
|
|
- `olMSG = 3` (SaveAs typ). Název souboru = index + složka + subjekt + konec
|
|
EntryID (kvůli párování).
|