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

List IMAP Mailboxes

List the mailboxes available within an IMAP account.

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("MY-IMAP-DOMAIN")
IF (lnSuccess = 0) THEN
    ? loImap.LastErrorText
    RELEASE loImap
    CANCEL
ENDIF

*  Login
lnSuccess = loImap.Login("MY-IMAP-LOGIN","MY-IMAP-PASSWORD")
IF (lnSuccess = 0) THEN
    ? loImap.LastErrorText
    RELEASE loImap
    CANCEL
ENDIF

lcRefName = ""
*  refName is usually set to an empty string.
*  A non-empty reference name argument is the name of a mailbox or a level of
*  mailbox hierarchy, and indicates the context in which the mailbox
*  name is interpreted.

*  Select all mailboxes matching this pattern:
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.oldSupport
*  INBOX.vendors.paypal
*  INBOX.sales
*  INBOX.lists
*  INBOX.Drafts
*  INBOX.vendors.dell
*  INBOX.Trash
*  INBOX.invoiceRequests
*  INBOX.purchases
*  INBOX.vendors.inMotion
*  INBOX.oldEmail
*  INBOX.vendors
*  INBOX.lists.python
*  INBOX.vendors.myhosting
*  INBOX.Templates
*  INBOX.friends
*  INBOX.bounceSamples
*  INBOX.lists.ruby
*  INBOX.vendors.peer1
*  INBOX.Sent
*  INBOX.Junk
*  INBOX

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

RELEASE loImap
RELEASE loMboxes