2014-10-29 12 views
6

Ich glaube, dass die einzige Möglichkeit, eine Outlook MSG-Datei zu lesen (um zusätzliche Metadaten wie Betreff, Anhänge usw.), ist die Verwendung der Outlook-API - die Application.Session.OpenSharedItem() Methode.Outlook lesen .msg Datei

Wenn dies der Fall ist, dann suche ich nach Möglichkeit, diesen Code auf unserem Anwendungsserver auszuführen, auf dem MS OFfice oder MS Outlook nicht installiert ist. Ich bekomme den Fehler

Was natürlich aufgrund der Abwesenheit der Outlook-Anwendung ist.

Gibt es eine Möglichkeit, nur eine DLL oder etwas zu installieren, um die OpenSharedItem-Methode zu funktionieren? Ich möchte nicht, wenn möglich, den vollständigen Client installieren.

Oder gibt es eine Möglichkeit, eine MSG-Datei zu analysieren, ohne dass wichtige Abhängigkeiten wie Outlook erforderlich sind?

+0

Es gibt immer einen Weg! http://download.microsoft.com/download/5/D/D/5DD33FDF-91F5-496D-9884-0A0B0EE698BB/%5BMS-OXMSG%5D.pdf Ich bin mir nicht sicher über die Legalität des Kopierens von DLLs, um Zugriff zu erhalten zu API. Wenn Sie die Datei selbst analysieren, würden Sie diese Komplikationen zumindest vermeiden. – itsme86

Antwort

6

Dieses in einem codeplex Artikel beantwortet wurde ich von vor langer Zeit

Artikel ist here, gibt es eine Datei namens OutlookStorage.cs, die nicht den Ausblick erfordert Modell gespeichert haben.

Wie in den Kommentaren unten gibt es jetzt eine nuget-Paket, das sich hierbei um:

here

Props zu Simon Green in den Kommentaren dazu.

+1

Ich denke, ich fand hier eine ähnliche Implementierung - es ist ein NuGet-Paket: [https://www.nuget.org/packages/MSGReader/] (https://www.nuget.org/packages/MSGReader/). Ich ging dafür, weil es einfacher war, herunterzuladen, als sich auf der CodeProject-Site anzumelden. Es scheint zu funktionieren - danke für Ihre Zeit aber –

0

Sie können auch

  1. explizit die MSG-Datei analysieren (das Format ist documented).

  2. Verwenden Sie Extended MAPI (nur C++ oder Delphi) zusammen mit standalone version of MAPI. Look up OpenIMsgOnIStg Funktion auf MSDN.

  3. Verwenden Redemption (erfordert eine MAPI-System - Outlook oder die standalone version of MAPI muss installiert sein - und seine RDOSessionGetMessageFromMsgFile Methode:

set Session = CreateObject("Redemption.RDOSession") 
set Msg = Session.GetMessageFromMsgFile("c:\temp\temp.msg") 
MsgBox Msg.Body 
0

MSG .NET ist Microsoft Outlook MSG-Datei-API. für .NET Framework Die API ermöglicht Ihnen das einfache Erstellen/Lesen/Parsen/Konvertieren von .msg-Dateien usw. Die API erfordert nicht, dass Microsoft Outlook auf dem Computer oder einem anderen dritten pa installiert wird Anwendung oder Bibliothek, um zu arbeiten.

+0

Ja, ich habe auch dieses gefunden ... aber ich bevorzuge das MSGReader NuGet-Paket und die OutlookStorage CodeProject-Lösungen, weil sie kostenlos sind –

Verwandte Themen