# analyze_sent_suspects_v1.0.py **Verze:** 1.0 · **Datum:** 2026-06-16 Lokální (Z230) analyzátor `.msg` přenesených z JNJ (výstup `jnj_scan_failed_sent`). Přes **olefile** projde všechny `.msg` ve složce, u každého vytáhne klíčové MAPI vlastnosti a klasifikuje, zda jde o **neodeslaný** e-mail. Výstup = přehled do konzole + timestampovaný `.xlsx`. ## Klasifikace - **FAIL_BODY** — tělo/report obsahuje „could not be sent" / „SendAsDenied" / … - **SENDAS_BUZ** — send-account / SentRepresenting / Sender obsahuje `buzalka.cz` - **NO_MSGID** — chybí Internet Message-ID (0x1035) - `failed = ANO`, pokud FAIL_BODY nebo SENDAS_BUZ (skoro jisté neodeslání). Vytáhne i **příjemce-lékaře** (externí adresa, ne `its.jnj.com`), subjekt, send-account a Message-ID. Datum bere z názvu souboru (`..._YYYY-MM-DD_...`). ## Spuštění ``` python analyze_sent_suspects_v1.0.py [SLOZKA_S_MSG] ``` - Bez argumentu použije `INPUT_DIR` (default `U:\Dropbox\!!!Days\Downloads Z230\sent_suspects`). - `.xlsx` se uloží do `U:\Dropbox\!!!Days\Downloads Z230\`. - Vyžaduje `olefile` + `openpyxl` (jsou ve venv `U:\janssen\.venv`). ## Po analýze (další krok) Seznam příjemců s `failed=ANO` = lékaři, kterým **úvodní nabídka nedorazila**. Cross-ref na `feasibility.investigators` ukáže, komu (a v jakém KROK) je třeba poslat nabídku znovu — **se správným From `vbuzalka@its.jnj.com`**. """