阅读Outlook .msg文件
我相信读取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?
这是回答在CodePlex上的文章我从很久以前
文章是here保存,有一个名为不需要的前景模型OutlookStorage.cs文件。
正如下面的评论现在有一个NuGet包覆盖此:
道具西蒙 - 格林这个意见。
我想我在这里找到了一个类似的实现 - 它是一个NuGet包:[https://www.nuget.org/packages/MSGReader/](https://www.nuget.org/packages/MSGReader/)。我这样做是因为它比下载CodeProject站点更容易下载。它似乎工作正常 - 感谢您的时间,虽然 – 2014-10-29 20:07:49
您也可以
明确解析MSG文件(格式为documented)。
使用扩展MAPI(仅限C++或Delphi)以及standalone version of MAPI。在MSDN上查找OpenIMsgOnIStg函数。
使用Redemption(需要MAPI系统 - Outlook或必须安装standalone version of MAPI - 及其RDOSession
GetMessageFromMsgFile
方法:
set Session = CreateObject("Redemption.RDOSession") set Msg = Session.GetMessageFromMsgFile("c:\temp\temp.msg") MsgBox Msg.Body
MSG .NET是微软的Outlook .msg文件API。对于.NET Framework来说,这个API允许你轻松地创建/读取/解析/转换.msg文件等。API不需要在机器上安装Microsoft Outlook或任何其他第三方rty应用程序或库以便工作。
是的,我也找到了这一个...但是,我更喜欢MSGReader NuGet包和OutlookStorage CodeProject解决方案,因为它们是免费的 – 2014-10-30 11:19:37
总有办法! 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