Visual FoxPro
Visual FoxPro
Subscribe to Mailboxes and List Subscribed Mailboxes
See more IMAP Examples
Demonstrates how to list subscribed mailboxes, and unsubscribe/subscribe to a mailbox.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("imap.example.com")
IF (lnSuccess = 0) THEN
? loImap.LastErrorText
RELEASE loImap
CANCEL
ENDIF
* Login
lnSuccess = loImap.Login("myLogin","myPassword")
IF (lnSuccess = 0) THEN
? loImap.LastErrorText
RELEASE loImap
CANCEL
ENDIF
* First examine the already subscribed mailboxes.
lcRefName = ""
lcWildcardedMailbox = "*"
lnSubscribed = 1
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.
* INBOX
* INBOX/recent
* INBOX/misc
* INBOX/misc/solutions
* ...
* Outbox
* Deleted Items
* Sent Items
* Drafts
* Junk E-mail
* Trash
* Sent
* Templates
* Let's unsubscribe to "INBOX/misc/solutions".
lnSuccess = loImap.Unsubscribe("INBOX/misc/solutions")
IF (lnSuccess = 0) THEN
? loImap.LastErrorText
RELEASE loImap
RELEASE loMboxes
CANCEL
ENDIF
* Get the list of subscribed mailboxes again to verify that "INBOX/misc/solutions" is missing.
lnSuccess = loImap.MbxList(lnSubscribed,"","INBOX/misc*",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
? "----"
* Re-subscribe to "INBOX/misc/solutions".
lnSuccess = loImap.Subscribe("INBOX/misc/solutions")
IF (lnSuccess = 0) THEN
? loImap.LastErrorText
RELEASE loImap
RELEASE loMboxes
CANCEL
ENDIF
* Get the list of subscribed mailboxes again to verify that "INBOX/misc/solutions" is back in the list.
lnSuccess = loImap.MbxList(lnSubscribed,"","INBOX/misc*",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
? "----"
* Disconnect from the IMAP server.
lnSuccess = loImap.Disconnect()
RELEASE loImap
RELEASE loMboxes