Getting List of Messages from Inbox Folder of Microsoft Exchange Server Mailbox

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

Last edited Jan 1, 2014 at 7:36 AM by asposemarketplace, version 2