This post addresses how to extract
From,To,Subject and message body content from *.eml file. Initialy i have tried
my hand in using Outlook API but results intermittent security exception while
instatntiating the object. After much exploration in the web came to know about
the COM API called Collaborative Data Object model it can be located under
Add Reference in VisualStudio under
COM section namely Microsoft CDO For Windows 2000 Library.
Below the code snippet where *.eml file name
will be passed in turn returns object of type CDO.Message.
protected
CDO.Message
ReadMessage(String
emlFileName)
{
CDO.Message
msg =
null;
try
{
msg =
new
CDO.MessageClass();
ADODB.Stream
stream =
new
ADODB.StreamClass();
stream.Open(Type .Missing ,
ADODB. ConnectModeEnum.adModeUnknown ,
ADODB. StreamOpenOptionsEnum.adOpenStreamUnspecified ,
String.Empty ,
String.Empty );
stream.LoadFromFile(emlFileName);
stream.Flush();
msg.DataSource.OpenObject(stream,
“_Stream”);
msg.DataSource.Save();
}
catch
(Exception
ex)
{ }
return
msg;
}
Note: using Outlook
Express you can save the message as *.eml file.
|