Visual FoxPro Requires Chilkat v11.0.0+
Visual FoxPro
List IMAP Mailboxes
List the mailboxes available within an IMAP account.Chilkat Visual FoxPro Downloads
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