2014-10-29 212 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