WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   .msg Datei einlesen in c# (http://www.wcm.at/forum/showthread.php?t=183012)

Gerald24 13.01.2006 14:39

.msg Datei einlesen in c#
 
Hallo,

ich muss eine .msg Datei einlesen und dem Body einen Text hinzufügen und diese danach wieder speichern.

Die Datei ist lokal abgespeichert.

Welche Möglichkeiten gibt es da? (Wenn möglich ohne Outlook zu verwenden).

Danke für die Hilfe

lg

Gerald

Biri 14.01.2006 17:26

hi,

hmmm...das msg format ist ein binäres dateiformat.
muss es .msg sein, oder ist es auch möglich, die emails in einem anderen format zu speichern (vor dem bearbeiten)?

Natürlich kannst du einen StreamReader verwenden, die Datei einlesen, den Stream ergänzen und wieder rausschreiben - ist aber nicht "die saubere art".

ideal wäre, wenn du genaue informationen zum aufbau des .msg formates bekommen könntest...

Andere Möglickeit: Ev. ein Interop Asesmbly für das Outlook COM Control erzeugen und mal schaun, welche Methoden dieses zum Mail-Message lesen/schreiben hat.
Ev. ist der Body ja direkt zugreifbar + änderbar.
Dieser Ansatz geht natürlich nur, wenn Outlook installiert ist.

fg
-hannes

JackLemon 05.02.2006 23:00

da gibt's nach meinem stand (war damals mapi mit office XP) nur einen einzigen weg (wenn du nicht bill gates heißt):

du hast bei mapi die möglichkeit, eine neue nachricht basierend auf einem "template" zu erstellen. die neue nachricht bekommt dann alle wichtigen eigenschaften des templates. die nachricht kannst du dann auslesen bzw. ändern und das ganze dann speichern, versenden oder sonstwas. und: du brauchst dazu kein outlook.


nachteil: hab keine ahnung ob das ganze auch mit "primitiven" wrappern wie CDO funktioniert -- unter umständen wirst du einen ausflug in "echtes" extended mapi machen müssen. um das mit c# zu tun gibt's einen c#-wrapper für die mapi32 dll.

wenn du mehr infos möchtest sag bescheid, dann kram' ich mal in den alten sachen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag