Sample code for 30+ languages & platforms
Visual FoxPro Requires Chilkat v11.0.0+

List IMAP Mailboxes with Reference

Demonstrates how to list all sub-mailboxes within a specified context. In this case, we list all mailboxes under "INBOX.vendors".

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loImap
LOCAL lcRefName
LOCAL lcWildcardedMailbox
LOCAL lnSubscribed
LOCAL loMboxes
LOCAL i

lnSuccess = 0

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

loImap = CreateObject('Chilkat.Imap')

*  Connect to an IMAP server.
*  Use TLS
loImap.Ssl = 1
loImap.Port = 993
lnSuccess = loImap.Connect("imap.example.com")
IF (lnSuccess = 0) THEN
    ? loImap.LastErrorText
    RELEASE loImap
    CANCEL
ENDIF

*  Login
lnSuccess = loImap.Login("admin@chilkatsoft.com","myPassword")
IF (lnSuccess = 0) THEN
    ? loImap.LastErrorText
    RELEASE loImap
    CANCEL
ENDIF

*  Get the list of mailboxes.
lcRefName = ""
lcWildcardedMailbox = "*"
lnSubscribed = 0

loMboxes = CreateObject('Chilkat.Mailboxes')
lnSuccess = loImap.MbxList(lnSubscribed,lcRefName,lcWildcardedMailbox,loMboxes)
IF (lnSuccess = 0) THEN
    ? loImap.LastErrorText
    RELEASE loImap
    RELEASE loMboxes
    CANCEL
ENDIF

i = 0
DO WHILE i < loMboxes.Count
    ? loMboxes.GetName(i)
    i = i + 1
ENDDO

*  Sample output looks like this:
*  INBOX.vendors.shareit
*  INBOX.vendors.paypal
*  INBOX.vendors.dell
*  INBOX.vendors.inMotion
*  INBOX.vendors.myhosting
*  INBOX.vendors.peer1

*  Disconnect from the IMAP server.
lnSuccess = loImap.Disconnect()

RELEASE loImap
RELEASE loMboxes