Platform SDK: CDO 1.2.1 |
The Inbox contains new messages. When users refer to new messages, they can mean messages that have arrived after the last time messages were read, or they can mean all unread messages. Depending on the needs of your application users, your applications can check various Message object properties to determine whether there is new mail.
You can force immediate delivery of any pending messages by calling the Session object’s DeliverNow method.
The following sample code tracks new messages by checking for messages in the Inbox with the Unread property value equal to True:
' Function: Util_CountUnread ' Purpose: Count unread messages in a folder ' Function Util_CountUnread() Dim cUnread As Integer ' counter On Error GoTo error_olemsg If objMessages Is Nothing Then MsgBox "must select a Messages collection" Exit Function End If Set objMessage = objMessages.GetFirst cUnread = 0 While Not objMessage Is Nothing ' loop through all messages If True = objMessage.Unread Then cUnread = cUnread + 1 End If Set objMessage = objMessages.GetNext Wend MsgBox "Number of unread messages = " & cUnread Exit Function error_olemsg: MsgBox "Error " & Str(Err) & ": " & Error$(Err) Resume Next End Function
You can also check for new messages by counting the messages received after a specified time. For example, your application can maintain a variable that represents the time of the latest message received, based on the Message object’s TimeReceived property. The application can periodically check for all messages with a TimeReceived value greater than the saved value. When new messages are found, the application increments its count of new messages and updates the saved value.
With the CDO Library version 1.1 or later, you can use the Messages collection’s Filter property to obtain a MessageFilter object. Setting the message filter’s TimeFirst or Unread property reduces the number of messages presented to the loop doing the counting or other processing of new messages.
Filtering Messages in a Folder, Reading a Message from the Inbox