Home > Code > C# > How to Read MS Outlook Message (MSG) File & Display its Contents on Screen

How to Read MS Outlook Message (MSG) File & Display its Contents on Screen

by sher azam   on Oct 22, 2014   Category: C#   |  Views: 2862    |  Points: 25   |  Gold 


This technical tip explains how to .NET developers can read Microsoft Outlook message file and display its contents on the screen using Aspose.Email. This migration tips gives details how Aspose products can be used to improve your applications and free you from dependency on traditional automation. This migration tip shows how to read a Microsoft Outlook message file and display its contents on the screen using both Microsoft Office Automation and Aspose.Email code. The sample code below only shows the contents on the console to give you an idea of how it works. Use the code snippets in your own Windows, web or other application. For your convenience, both C# and VB versions are provided.

//Office Automation

//To use Office Automation objects for Microsoft Outlook, you need to add references to Microsoft Office and Microsoft Office Interop for Outlook libraries to your project.

[C#]

// Add the namespaces
using Microsoft.Office;
using Microsoft.Office.Interop.Outlook;

// Create a new Application Class
Application app = new Application();
// Create a MailItem object
MailItem item = (MailItem)outlook.CreateItemFromTemplate(@"d:\temp\test.msg", Type.Missing);
// Access different fields of the message
System.Console.WriteLine(string.Format("Subject:{0}", item.Subject));
System.Console.WriteLine(string.Format("Sender Email Address:{0}", item.SenderEmailAddress));
System.Console.WriteLine(string.Format("SenderName:{0}", item.SenderName));
System.Console.WriteLine(string.Format("TO:{0}", item.To));
System.Console.WriteLine(string.Format("CC:{0}", item.CC));
System.Console.WriteLine(string.Format("BCC:{0}", item.BCC));
System.Console.WriteLine(string.Format("Html Body:{0}", item.HTMLBody));
System.Console.WriteLine(string.Format("Text Body:{0}", item.Body));

[VB.NET]

' Add the namespaces
Imports Microsoft.Office
Imports Microsoft.Office.Interop.Outlook

' Create a new Application Class
Private outlook As Application = New Application()
' Create a MailItem object
Private item As MailItem = CType(outlook.CreateItemFromTemplate("d:\temp\test.msg", Type.Missing), MailItem)
' Access different fields of the message
System.Console.WriteLine(String.Format("Subject:{0}", item.Subject))
System.Console.WriteLine(String.Format("Sender Email Address:{0}", item.SenderEmailAddress))
System.Console.WriteLine(String.Format("SenderName:{0}", item.SenderName))
System.Console.WriteLine(String.Format("TO:{0}", item.To))
System.Console.WriteLine(String.Format("CC:{0}", item.CC))
System.Console.WriteLine(String.Format("BCC:{0}", item.BCC))
System.Console.WriteLine(String.Format("Html Body:{0}", item.HTMLBody))
System.Console.WriteLine(String.Format("Text Body:{0}", item.Body))

//Aspose.Email for .NET

//The following code snippet does the same thing as the code above using Aspose.Email for .NET. To access the Aspose.Email.Outlook objects, you need to add a reference to Aspose.Email to your project.

[C#]

// Add the namespace for Aspose.Email.Outlook
using Aspose.Email.Outlook;

// Create a new object of type MapiMessage
MapiMessage msg = MapiMessage.FromFile(@"d:\temp\test.msg");
// Access the fields of the message
System.Console.WriteLine(string.Format("Subject:{0}", msg.Subject));
System.Console.WriteLine(string.Format("Sender Email Address:{0}", msg.SenderEmailAddress));
System.Console.WriteLine(string.Format("SenderName:{0}", msg.SenderName));
System.Console.WriteLine(string.Format("TO:{0}", msg.DisplayTo));
System.Console.WriteLine(string.Format("CC:{0}", msg.DisplayCc));
System.Console.WriteLine(string.Format("BCC:{0}", msg.DisplayBcc));
System.Console.WriteLine(string.Format("Text Body:{0}", msg.Body));
System.Console.WriteLine(string.Format("Rtf Body:{0}", msg.BodyRtf));

[VB.NET]

' Add the namespace for Aspose.Email.Outlook
Imports Aspose.Email.Outlook

' Create a new object of type MapiMessage
Private msg As MapiMessage = MapiMessage.FromFile("d:\temp\test.msg")
' Access the fields of the message
System.Console.WriteLine(String.Format("Subject:{0}", msg.Subject))
System.Console.WriteLine(String.Format("Sender Email Address:{0}", msg.SenderEmailAddress))
System.Console.WriteLine(String.Format("SenderName:{0}", msg.SenderName))
System.Console.WriteLine(String.Format("TO:{0}", msg.DisplayTo))
System.Console.WriteLine(String.Format("CC:{0}", msg.DisplayCc))
System.Console.WriteLine(String.Format("BCC:{0}", msg.DisplayBcc))
System.Console.WriteLine(String.Format("Text Body:{0}", msg.Body))
System.Console.WriteLine(String.Format("Rtf Body:{0}", msg.BodyRtf))



Overview: Aspose.Email for .NET

Aspose.Email for .NET is a set of components allowing developers to easily implement email functionality within their ASP.NET web applications, web services & Windows applications. It Supports Outlook PST, EML, MSG & MHT formats. It allows developers to work with SMTP, POP3, FTP & MS Exchange servers. It supports mail merge, iCalendar, customized header & body, header information, embedded files, Twitter & many more. It makes it easy to work with HTML or plain text emails & their attachments.

- Homepage of Aspose.Email for .NET: http://www.aspose.com/.net/email-component.aspx

- Download Aspose.Email for .NET: http://www.aspose.com/community/files/51/.net-components/aspose.email-for-.net/default.aspx



Post Code  |  Code Snippet Home

User Responses


No response found, be the first to review this code snippet.

Submit feedback about this code snippet

Please sign in to post feedback

Latest Posts