AutoIt
AutoIt
Subscribe to Mailboxes and List Subscribed Mailboxes
See more IMAP Examples
Demonstrates how to list subscribed mailboxes, and unsubscribe/subscribe to a mailbox.Chilkat AutoIt Downloads
Local $bSuccess = False
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oImap = ObjCreate("Chilkat.Imap")
; Connect to an IMAP server.
; Use TLS
$oImap.Ssl = True
$oImap.Port = 993
$bSuccess = $oImap.Connect("imap.example.com")
If ($bSuccess = False) Then
ConsoleWrite($oImap.LastErrorText & @CRLF)
Exit
EndIf
; Login
$bSuccess = $oImap.Login("myLogin","myPassword")
If ($bSuccess = False) Then
ConsoleWrite($oImap.LastErrorText & @CRLF)
Exit
EndIf
; First examine the already subscribed mailboxes.
Local $sRefName = ""
Local $sWildcardedMailbox = "*"
Local $bSubscribed = True
$oMboxes = ObjCreate("Chilkat.Mailboxes")
$bSuccess = $oImap.MbxList($bSubscribed,$sRefName,$sWildcardedMailbox,$oMboxes)
If ($bSuccess = False) Then
ConsoleWrite($oImap.LastErrorText & @CRLF)
Exit
EndIf
Local $i = 0
While $i < $oMboxes.Count
ConsoleWrite($oMboxes.GetName($i) & @CRLF)
$i = $i + 1
Wend
ConsoleWrite("----" & @CRLF)
; 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".
$bSuccess = $oImap.Unsubscribe("INBOX/misc/solutions")
If ($bSuccess = False) Then
ConsoleWrite($oImap.LastErrorText & @CRLF)
Exit
EndIf
; Get the list of subscribed mailboxes again to verify that "INBOX/misc/solutions" is missing.
$bSuccess = $oImap.MbxList($bSubscribed,"","INBOX/misc*",$oMboxes)
If ($bSuccess = False) Then
ConsoleWrite($oImap.LastErrorText & @CRLF)
Exit
EndIf
$i = 0
While $i < $oMboxes.Count
ConsoleWrite($oMboxes.GetName($i) & @CRLF)
$i = $i + 1
Wend
ConsoleWrite("----" & @CRLF)
; Re-subscribe to "INBOX/misc/solutions".
$bSuccess = $oImap.Subscribe("INBOX/misc/solutions")
If ($bSuccess = False) Then
ConsoleWrite($oImap.LastErrorText & @CRLF)
Exit
EndIf
; Get the list of subscribed mailboxes again to verify that "INBOX/misc/solutions" is back in the list.
$bSuccess = $oImap.MbxList($bSubscribed,"","INBOX/misc*",$oMboxes)
If ($bSuccess = False) Then
ConsoleWrite($oImap.LastErrorText & @CRLF)
Exit
EndIf
$i = 0
While $i < $oMboxes.Count
ConsoleWrite($oMboxes.GetName($i) & @CRLF)
$i = $i + 1
Wend
ConsoleWrite("----" & @CRLF)
; Disconnect from the IMAP server.
$bSuccess = $oImap.Disconnect()