2014-10-29 199 views
6

我相信读取Outlook .msg文件(为了附加元数据,如主题,附件等)的唯一方法是使用Outlook API - Application.Session.OpenSharedItem()方法。阅读Outlook .msg文件

如果是这种情况,那么我正在寻找在我们的应用程序服务器上运行此代码的方式,该服务器没有安装MS OFfice或MS Outlook。我收到错误

System.ArgumentException: progId not found. Outlook.Application 

哪一个当然是由于没有Outlook应用程序。

有没有什么方法可以安装一个DLL或其他东西来让OpenSharedItem方法工作?如果可能,我不想安装完整的客户端。

或者,有没有办法解析.msg文件,而不需要显着的依赖关系,如Outlook?

+0

总有办法! http://download.microsoft.com/download/5/D/D/5DD33FDF-91F5-496D-9884-0A0B0EE698BB/%5BMS-OXMSG%5D.pdf我不确定复制DLL获取访问权限的法定性到API。自己解析文件至少可以避免这些复杂情况。 – itsme86 2014-10-29 14:42:12

回答

6

这是回答在CodePlex上的文章我从很久以前

文章是here保存,有一个名为不需要的前景模型OutlookStorage.cs文件。

正如下面的评论现在有一个NuGet包覆盖此:

here

道具西蒙 - 格林这个意见。

+1

我想我在这里找到了一个类似的实现 - 它是一个NuGet包:[https://www.nuget.org/packages/MSGReader/](https://www.nuget.org/packages/MSGReader/)。我这样做是因为它比下载CodeProject站点更容易下载。它似乎工作正常 - 感谢您的时间,虽然 – 2014-10-29 20:07:49

0

MSG .NET是微软的Outlook .msg文件API。对于.NET Framework来说,这个API允许你轻松地创建/读取/解析/转换.msg文件等。API不需要在机器上安装Microsoft Outlook或任何其他第三方rty应用程序或库以便工作。

+0

是的,我也找到了这一个...但是,我更喜欢MSGReader NuGet包和OutlookStorage CodeProject解决方案,因为它们是免费的 – 2014-10-30 11:19:37