33 lines
1.4 KiB
Markdown
33 lines
1.4 KiB
Markdown
# 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`**.
|
|
"""
|