How to extract TNEF winmail.dat using a PHP script?

醉酒当歌 提交于 2019-12-08 02:53:31

问题


I am developing a functionality that will read all emails from a mailbox and will process the attachment files.

When any mail is sent from Outlook, its attachment is saved as winmail.dat. [Please note that I already have code to download attachments using IMAP PHP. My email attachments are stored in one folder in my codebase on the server.] I need to extract the winmail.dat attachment into its original format. The solutions I came across till now all need manual efforts like an online tool which gives extracted files, or software that enables us to convert .DAT files.

But I need to extract using a script or any automated process like cron or something. [I am using Linux - centos 5.7 server.]

Is there any library or any other way for my application to "unpack" theses files so I can get the attachments WITHOUT doing it MANUALLY one by one?

Thanks!


回答1:


Download rpm package from http://pkgs.org/centos-5-rhel-5/flexbox-x86_64/tnef-1.4.7-1.x86_64.rpm.html

use Package: tnef-1.4.7-1.x86_64.rpm

Installation:

Copy into a folder and Install rpm tnef package -

rpm -ivh /path-of-downloaded-package/tnef-1.4.7-1.x86_64.rpm

To Extract attachment [winmail.dat] :

Go in directory where you want to extract your attachment files.

cd /path-to-extract-attachment/

run command:

tnef /path-of-attachment/winmail.dat

Equivalent PHP script:

chdir('/path-to-extract-attachment/');

$cmd = "tnef /path-of-attachment/winmail.dat";
shell_exec($cmd);



回答2:


I feel your pain; dealing with proprietary systems which disregards existing widely established standards is pain in the *. The wikipedia page on TNEF has a list of libraries which aim at providing a decoder. Good luck.



来源:https://stackoverflow.com/questions/16792842/how-to-extract-tnef-winmail-dat-using-a-php-script

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!