使用PHP的finfo_file检测Outlook消息文件的MIME类型为"application/CDFV2-corrupt"

4

我对Outlook msg文件进行了一些研究,我期望它的MIME类型是application/vnd.ms-outlook。但是当我使用finfo_file()时,我得到的是application/CDFV2-corrupt。我已经在两个不同的服务器上尝试过它(我的本地Centos盒子和我的Centos VPS),并且得到了相同的结果。是否有人尝试过这段代码?你是否得到了与我相同的结果?如何使用PHP获取msg文件的MIME类型?

<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$filetype=finfo_file($finfo, 'test.msg');
echo($filetype);
?>

输出:

application/CDFV2-corrupt

我看到有人发了一个答案,但当我点击它时已经被删除了。任何帮助或想法都将不胜感激! - user1032531
我还发现了一些旧的XLS文件,它们具有相同的MIME类型。显然,它代表“Composite Document File V2”,旧的XLS文件使用该文件格式。要么文件实际上略微损坏或不符合规范(可能是元数据),要么libmagic在读取某个格式变体时存在错误。我使用的是Ubuntu 14.04.3 LTS。 - Sam Watkins
1个回答

1
尝试使用 application/octet-stream。只要文件扩展名正确(.MSG),Outlook 就可以正常打开 MSG 文件。

1
谢谢。我检查MIME的部分原因是为了验证文件是否看起来像它所表示的那样。 - user1032531
MIME类型会被电子邮件客户端或浏览器检查,但在Windows端打开它的实际应用程序只能访问文件名(因此只能访问扩展名)。 - Dmitry Streblechenko
"application/binary"不是有效的MIME类型,应为"application/octet-stream"。 - Sam Watkins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接