Мне нужно убедиться, что файл, который я загружаю, является файлом .msg. Я хочу сделать это по содержанию. Поскольку это файл Microsoft, заголовок будет таким же, как .doc и .xls(D0 CF 11 E0 A1 B1 1A E1). Единственный способ различать форматы Microsoft — по подзаголовку.
В настоящее время я пытался проверить подзаголовок:
[512 (0x200) byte offset]
52 00 6F 00 6F 00 74 00
20 00 45 00 6E 00 74 00
72 00 79 00)
Это работало с образцами файлов, но когда я сохраняю почту Outlook (.msg) и пытаюсь проверить, у нее нет этого подзаголовка (тот, что выше). У меня сейчас Outlook 2010. Кто-нибудь знает, почему он не содержит подзаголовок? или какую альтернативу я должен использовать?





Формат файла MSG подробно описан.
Файл MSG (как и старые форматы DOC и XLS) представляет собой файл хранилища OLE. Вы можете проверить, существует ли поток "__properties_version1.0" - посмотрите файл MSG с помощью средства просмотра, такого как SSView.