Откройте письмо в оригинальном виде (с заголовками и прочим), посмотрите, в каком виде в нём записано название файла. Способов кодирования имён файлов
много, и, судя по вашему
скриншоту в комментариях, я подозреваю, что Outlook показывает его из параметра
filename поля
Content-Disposition.
Длинные имена кодируются в
Content-Disposition несколькими строками. Например, имя файла "Простой файл.txt" выглядит следующим образом:
Content-Type: text/plain; charset=UTF-8;
name="=?UTF-8?B?0J/RgNC+0YHRgtC+0Lkg0YTQsNC50LsudHh0?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename*0*=UTF-8''%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D1%84;
filename*1*=%D0%B0%D0%B9%D0%BB%2E%74%78%74
По всей видимости, либо из-за ошибки в обработчике письма (средствами антивируса или фильтров на сервере), либо из-за ошибки в Outlook, у вас корректно отображается только первая строка файла (
filename*0*, "Простой ф" в моём случае), а последующие (
filename*1* и далее) — не декодируются. На вашем скриншоте также видно 9 корректных первых символов, что подтверждает мою догадку.