Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... 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.
; 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") Local $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 <> True) 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 ; The ListMailboxes method returns a Mailboxes object ; that contains the collection of mailboxes. ; It accepts two arguments: a refName and a wildcardedMailbox. Local $sRefName = "" ; 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: Local $sWildcardedMailbox = "*" Local $oMboxes = $oImap.ListMailboxes($sRefName,$sWildcardedMailbox) If ($oImap.LastMethodSuccess = 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-2024 Chilkat Software, Inc. All Rights Reserved.