PureBasic
PureBasic
Demonstrates IMAP Session Logging
Demonstrates how to enable IMAP session logging and examine the session log.Chilkat PureBasic Downloads
IncludeFile "CkImap.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
imap.i = CkImap::ckCreate()
If imap.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Turn on session logging:
CkImap::setCkKeepSessionLog(imap, 1)
; Connect to GMail
; Use TLS
CkImap::setCkSsl(imap, 1)
CkImap::setCkPort(imap, 993)
success = CkImap::ckConnect(imap,"imap.gmail.com")
If success <> 1
Debug CkImap::ckLastErrorText(imap)
CkImap::ckDispose(imap)
ProcedureReturn
EndIf
; Login
; Your login is typically your GMail email address.
success = CkImap::ckLogin(imap,"username@gmail.com","myPassword")
If success <> 1
Debug CkImap::ckLastErrorText(imap)
CkImap::ckDispose(imap)
ProcedureReturn
EndIf
; Select an IMAP mailbox
success = CkImap::ckSelectMailbox(imap,"Inbox")
If success <> 1
Debug CkImap::ckLastErrorText(imap)
CkImap::ckDispose(imap)
ProcedureReturn
EndIf
; Show the session log.
Debug CkImap::ckSessionLog(imap)
; The session log will look like this:
; ----INFO----
; Connecting to IMAP server at imap.gmail.com:993
; ----IMAP RESPONSE----
; * OK Gimap ready for requests from ...
; ----IMAP REQUEST----
; aaab LOGIN "chilkat.support@gmail.com"
; ----IMAP RESPONSE----
; * CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT LIST-EXTENDED LIST-STATUS LITERAL- SPECIAL-USE APPENDLIMIT=35651584
; aaab OK chilkat.support@gmail.com authenticated (Success)
; ----IMAP REQUEST----
; aaac SELECT "Inbox"
; ----IMAP RESPONSE----
; * FLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded $MDNSent $NotPhishing $Phishing $label1 $label2 $label3 $label4 $label5 Junk NonJunk)
; * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen $Forwarded $MDNSent $NotPhishing $Phishing $label1 $label2 $label3 $label4 $label5 Junk NonJunk \*)] Flags permitted.
; * OK [UIDVALIDITY 3] UIDs valid.
; * 29 EXISTS
; * 0 RECENT
; * OK [UIDNEXT 6286] Predicted next UID.
; * OK [HIGHESTMODSEQ 813897]
; aaac OK [READ-WRITE] Inbox selected. (Success)
; Disconnect from the IMAP server.
success = CkImap::ckDisconnect(imap)
CkImap::ckDispose(imap)
ProcedureReturn
EndProcedure