Sample code for 30+ languages & platforms
Visual Basic 6.0

Download Unread Email from IMAP Mailbox

Download unread email messages from an IMAP mailbox.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim imap As New ChilkatImap

' Connect to an IMAP server.
' Use TLS
imap.Ssl = 1
imap.Port = 993
success = imap.Connect("imap.example.com")
If (success = 0) Then
    Debug.Print imap.LastErrorText
    Exit Sub
End If

' Login
success = imap.Login("admin@chilkatsoft.com","myPassword")
If (success = 0) Then
    Debug.Print imap.LastErrorText
    Exit Sub
End If

' Select an IMAP mailbox
success = imap.SelectMailbox("Inbox")
If (success = 0) Then
    Debug.Print imap.LastErrorText
    Exit Sub
End If

' Find emails marked as seen or not already seen:
Dim seenSearch As String
seenSearch = "SEEN"
Dim notSeenSearch As String
notSeenSearch = "NOT SEEN"

' Get the set of unseen message UIDs
Dim fetchUids As Long
fetchUids = 1
Dim messageSet As New MessageSet
success = imap.QueryMbx(notSeenSearch,fetchUids,messageSet)
If (success = 0) Then
    Debug.Print imap.LastErrorText
    Exit Sub
End If

' Fetch the unseen emails into a bundle object:
Dim bundle As New ChilkatEmailBundle
Dim headersOnly As Long
headersOnly = 0
success = imap.FetchMsgSet(headersOnly,messageSet,bundle)
If (success = 0) Then
    Debug.Print imap.LastErrorText
    Exit Sub
End If

' Display the Subject and From of each email.
Dim email As New ChilkatEmail
Dim i As Long
i = 0
Dim numEmails As Long
numEmails = bundle.MessageCount
Do While i < numEmails
    success = bundle.EmailAt(i,email)

    Debug.Print email.GetHeaderField("Date")
    Debug.Print email.Subject
    Debug.Print email.From
    Debug.Print "--"
    i = i + 1
Loop

' Disconnect from the IMAP server.
success = imap.Disconnect()