Как извлечь файл TNEF winmail.dat с помощью PHP-скрипта?
Я разрабатываю функциональность, которая будет считывать все электронные письма из почтового ящика и обрабатывать файлы вложений.
Когда какое-либо письмо отправляется из Outlook, его вложение сохраняется как winmail.dat. [Пожалуйста, обратите внимание, что у меня уже есть код для загрузки вложений с использованием PHP IMAP. Мои вложения электронной почты хранятся в одной папке в моей кодовой базе на сервере.] Мне нужно извлечь вложение winmail.dat в его исходном формате. Решения, с которыми я сталкивался до сих пор, все нуждаются в руководстве такие усилия, как онлайн-инструмент, который предоставляет извлеченные файлы, или программное обеспечение, которое позволяет нам конвертировать.Файлы данных.
Но мне нужно извлечь с помощью скрипта или любого автоматизированного процесса, такого как cron или что-то в этом роде. [Я использую сервер Linux - centos 5.7.]
Существует ли какая-либо библиотека или какой-либо другой способ для моего приложения "распаковать" файлы тезисов, чтобы я мог получить вложения, НЕ делая это ВРУЧНУЮ по одному?
Спасибо!
2 answers
Загрузите пакет rpm с http://pkgs.org/centos-5-rhel-5/flexbox-x86_64/tnef-1.4.7-1.x86_64.rpm.html
Использовать пакет: tnef-1.4.7-1.x86_64.об/мин
Установка:
Скопируйте в папку и установите пакет rpm tnef -
rpm -ivh /path-of-downloaded-package/tnef-1.4.7-1.x86_64.rpm
Чтобы извлечь вложение [winmail.dat]:
Перейдите в каталог, в который вы хотите извлечь файлы вложений.
cd /path-to-extract-attachment/
Выполнить команду:
tnef /path-of-attachment/winmail.dat
Эквивалентный PHP-скрипт:
chdir('/path-to-extract-attachment/');
$cmd = "tnef /path-of-attachment/winmail.dat";
shell_exec($cmd);
Я чувствую вашу боль; иметь дело с проприетарными системами, которые игнорируют существующие широко установленные стандарты, - это боль в *. На странице википедии на TNEF есть список библиотек, целью которых является предоставление декодера. Удачи.