Files
janssen/Feasibility/jnj_dump_recipient_msgs_v1.0.md
2026-06-17 15:05:10 +02:00

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í).