Getting List of Messages from Inbox Folder of Microsoft Exchange Server Mailbox in Aspose.Email

To use Office Automation objects for Microsoft Outlook, add references to Microsoft Office and Microsoft Office Interop for Outlook libraries to the project. Microsoft Office Outlook must also be installed on the machine that the code runs on.

VSTO


 // Create Application class and get namespace

Outlook.Application outlook = new Outlook.Application();

Outlook.NameSpace ns = outlook.GetNamespace("Mapi");

object _missing = Type.Missing;

ns.Logon(_missing, _missing, false, true);

// Get Inbox information in objec of type MAPIFolder

Outlook.MAPIFolder inbox = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

// Unread emails

int unread = inbox.UnReadItemCount;

// Display the subject of emails in the Inbox folder

foreach (Outlook.MailItem mail in inbox.Items)

{

	Console.WriteLine(mail.Subject);

}

Aspose.Email

However, Microsoft Outlook does not need to be installed on the machine where the code runs. Reference the Aspose.Email.dll to build and run the project successfully.


 // Create instance of ExchangeClient class by giving credentials

ExchangeClient client = new ExchangeClient("http://MachineName/exchange/Username",

				"username", "password", "domain");

// Call ListMessages method to list messages info from Inbox

ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// Loop through the collection to display the basic information

foreach (ExchangeMessageInfo msgInfo in msgCollection)

{

	Console.WriteLine("Subject: " + msgInfo.Subject);

	Console.WriteLine("From: " + msgInfo.From.ToString());

	Console.WriteLine("To: " + msgInfo.To.ToString());

	Console.WriteLine("Message ID: " + msgInfo.MessageId);

	Console.WriteLine("Unique URI: " + msgInfo.UniqueUri);

	Console.WriteLine("==================================");

}

Download Sample Code