Click here to Skip to main content
15,891,136 members
Articles / Programming Languages / Visual Basic
Article

Retrieve unread messages from Inbox

Rate me:
Please Sign up or sign in to vote.
2.82/5 (5 votes)
30 Jan 2008CPOL 94.9K   25   11
How to retrieve unread messages from Inbox by using Outlook Object Model in Visual Basic .NET

Introduction

The article is about reading, mails for th outlook, I faced this requirement when my client told me to automate the reading the UNREAD mails from his inbox without any intervention. So I just created the basic application which could read the inbox mails.

This article describes how to use Microsoft Outlook 10.0 Object Library to retrieve unread messages from the Outlook Inbox in Visual Basic .NET(2005)

Basic Recquirement:

1. Out Look 2003 Should be configured on your machine.

2. Visual Studio 2005 installed on your machine

Using the code:

Start the new session(Console) application of VB.net(2005) and paste the Code below in your module1.vb

Before you run the code don't forget to add the references to the Microsoft Outlook 10.0 Object Library. to add the reference browse through Project->Add References select COM tab

then select "Microsoft Outlook 10.0 Object Library" and press OK.

Run the Application. The Console Window will show the all the UNREAD mails from outlook(2003) the INBOX.

VB.NET
Imports System.Reflection
'// Reference to Microsoft Outlook 11.0 Object Library
Imports Microsoft.Office.Interop.Outlook

Module Module1

    Sub Main()
        ' Create Outlook application.
        Dim oApp As Microsoft.Office.Interop.Outlook.Application = New Microsoft.Office.Interop.Outlook.Application

        ' Get Mapi NameSpace.
        Dim oNS As Microsoft.Office.Interop.Outlook.NameSpace = oApp.GetNamespace("mapi")
        oNS.Logon("YourValidProfile", Missing.Value, False, True) ' TODO:

        ' Get Messages collection of Inbox.
        Dim oInbox As Microsoft.Office.Interop.Outlook.MAPIFolder = oNS.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox)
        Dim oItems As Microsoft.Office.Interop.Outlook.Items = oInbox.Items
        Console.WriteLine("Total : " & oItems.Count)

        ' Get unread e-mail messages.
        oItems = oItems.Restrict("[Unread] = true")
        Console.WriteLine("Total Unread : " & oItems.Count)

        ' Loop each unread message.
        Dim oMsg As Microsoft.Office.Interop.Outlook.MailItem
        Dim i As Integer

        For i = 1 To oItems.Count
            oMsg = oItems.Item(i)

            Console.WriteLine(i)
            Console.WriteLine(oMsg.SenderName)
            Console.WriteLine(oMsg.Subject)
            Console.WriteLine(oMsg.ReceivedTime)
            Console.WriteLine(oMsg.Body)
            Console.WriteLine("---------------------------")
            Console.WriteLine("press any key to continue")
        Next

        ' Log off.
        oNS.Logoff()

        ' Clean up.
        oApp = Nothing
        oNS = Nothing
        oItems = Nothing
        oMsg = Nothing
    End Sub

End Module

History

  • 29/01/08 - Basic Version
  • Hope this code will help you people. Happy coding.

    License

    This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


    Written By
    Web Developer
    India India
    This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

    Comments and Discussions

     
    Questionchange the account Pin
    Member 104943839-Jan-14 2:06
    Member 104943839-Jan-14 2:06 
    GeneralMy vote of 5 Pin
    ESSESSESS30-Nov-11 21:42
    ESSESSESS30-Nov-11 21:42 
    GeneralWorks nice with Outlook 2007 Microsoft Outlook 12.0 Object Library Pin
    Harald Heide Gundersen29-Oct-09 23:51
    Harald Heide Gundersen29-Oct-09 23:51 
    GeneralHelp.. Pin
    hits200921-Mar-09 4:23
    hits200921-Mar-09 4:23 
    QuestionWhat if it is system administrator mail Pin
    AcidAndroid4-Mar-09 8:56
    AcidAndroid4-Mar-09 8:56 
    AnswerRe: What if it is system administrator mail Pin
    Randy_Miller19-Sep-10 11:04
    Randy_Miller19-Sep-10 11:04 
    GeneralLooking at other folders other then the Inbox Pin
    DJ Matthews25-Aug-08 8:44
    DJ Matthews25-Aug-08 8:44 
    QuestionHow to move, delete and flag messages as read? Pin
    ATRider14-Apr-08 19:04
    ATRider14-Apr-08 19:04 
    AnswerRe: How to move, delete and flag messages as read? Pin
    Luke Singh2-Jul-08 9:13
    Luke Singh2-Jul-08 9:13 
    GeneralCool!! Works immediately and is simple! Pin
    ATRider14-Apr-08 10:04
    ATRider14-Apr-08 10:04 
    QuestionNice but ?? Pin
    Kamal Singh Kharayat28-Jan-08 23:50
    Kamal Singh Kharayat28-Jan-08 23:50 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.