![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(AutoIt) Examine Yahoo Mail IMAP Session LogSee more Yahoo Mail ExamplesTo examine the IMAP session log, set the KeepSessionLog property = True, and then examine the contents of the SessionLog property.Note: This example requires Chilkat v11.0.0 or greater.
Local $bSuccess = False ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ; See Get Yahoo Mail OAuth2 Access Token for Desktop App ; for sample code showing how to obtain a Yahoo Mail access token. ; In this example, our access token was previously saved to the following file which contains JSON like this: ; { ; "access_token": "kCVQdnOdul...LHucA--", ; "refresh_token": "AIenVXETSo0jklFBVkPS8vVm8E.Ej9ToRG.xDbDYmZ65WIs5t6CZhDrD", ; "expires_in": 3600, ; "token_type": "bearer", ; "xoauth_yahoo_guid": "HGDQCVF5JB4YDOWHITQJFBHCWA" ; } $oJson = ObjCreate("Chilkat.JsonObject") $bSuccess = $oJson.LoadFile("qa_data/tokens/yahooMail.json") If ($bSuccess <> True) Then ConsoleWrite("Failed to load Yahoo Mail access token file." & @CRLF) Exit EndIf Local $sAccessToken = $oJson.StringOf("access_token") ; Do OAuth2 authentication by using the access token as the password in the Login method below... $oImap = ObjCreate("Chilkat.Imap") $oImap.Ssl = True $oImap.Port = 993 ; Tell Chilkat IMAP to keep a session log. $oImap.KeepSessionLog = True ; Connect to the Yahoo IMAP server. $bSuccess = $oImap.Connect("imap.mail.yahoo.com") If ($bSuccess = False) Then ConsoleWrite($oImap.LastErrorText & @CRLF) Exit EndIf ; Indicate that XOAUTH2 authentication is to be used: $oImap.AuthMethod = "XOAUTH2" ; Login ; Use the email address of the Yahoo Mail account that granted authorization. $bSuccess = $oImap.Login("user@yahoo.com",$sAccessToken) If ($bSuccess <> True) Then ConsoleWrite($oImap.LastErrorText & @CRLF) Else ConsoleWrite("Successfully authenticated with Yahoo IMAP using XOAUTH2!" & @CRLF) EndIf ; Get the list of mailboxes. Local $sRefName = "" Local $sWildcardedMailbox = "*" Local $bSubscribed = False $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 ; Sample output looks like this: ; Archive ; Bulk Mail ; Draft ; Inbox ; Inbox/emailsWithAttach ; Inbox/test ; Sent ; Trash ; Examine the session log ConsoleWrite($oImap.SessionLog & @CRLF) ; Sample session log ; ----INFO---- ; Connecting to IMAP server at imap.mail.yahoo.com:993 ; ----IMAP RESPONSE---- ; * OK [CAPABILITY IMAP4rev1 SASL-IR AUTH=PLAIN AUTH=XOAUTH2 AUTH=OAUTHBEARER ID MOVE NAMESPACE XYMHIGHESTMODSEQ UIDPLUS LITERAL+ CHILDREN X-MSG-EXT OBJECTID] IMAP4rev1 Hello ; ----IMAP REQUEST---- ; aaab AUTHENTICATE XOAUTH2 ; ----IMAP RESPONSE---- ; aaab OK AUTHENTICATE completed ; ----IMAP REQUEST---- ; aaac LIST "" "*" ; ----IMAP RESPONSE---- ; * LIST (\Archive \HasNoChildren) "/" "Archive" ; * LIST (\Junk \HasNoChildren) "/" "Bulk Mail" ; * LIST (\Drafts \HasNoChildren) "/" "Draft" ; * LIST (\HasChildren) "/" "Inbox" ; * LIST (\HasNoChildren) "/" "Inbox/emailsWithAttach" ; * LIST (\HasNoChildren) "/" "Inbox/test" ; * LIST (\Sent \HasNoChildren) "/" "Sent" ; * LIST (\Trash \HasNoChildren) "/" "Trash" ; aaac OK LIST completed ; Disconnect from the IMAP server. $bSuccess = $oImap.Disconnect() |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.