Как определить, что тело сообщения имеет формат TNEF (winmail.dat)?
Как определить / проверить, имеет ли тело сообщения формат tnef (winmail.dat) с использованием PHP?
Я не хочу декодировать, просто хочу проверить. Я использую imap_fetchbody
а также imap_body
для получения BODY мне нужно получить mimetype (или что-то подобное) для проверки, если это "формат tnef", например так:
if (in_array($bodyMimeType, array('application/tnef', 'application/x-tnef', 'application/ms-tnef'))) {
//Decode
}
Я старался:
$structure = imap_fetchstructure($imap, $messageId, FT_UID);
echo 'sub-type:', $structure->subtype, PHP_EOL;
echo 'encoding:', $structure->encoding, PHP_EOL;
0 ответов
Думаю, без декодирования узнать невозможно, я его декодирую и проверяю статус, успешно ли с помощью exec()
, exec("tnef {$datfile} 2>&1", $output, $status)
, если он успешно декодирован, $status
будет 0.