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
(VBScript) Examine Yahoo Mail IMAP Session LogSee more Yahoo Mail ExamplesTo examine the IMAP session log, set the KeepSessionLog property = 1, and then examine the contents of the SessionLog property.
Dim fso, outFile Set fso = CreateObject("Scripting.FileSystemObject") 'Create a Unicode (utf-16) output text file. Set outFile = fso.CreateTextFile("output.txt", True, True) ' 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" ' } ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = CreateObject("Chilkat.JsonObject") success = json.LoadFile("qa_data/tokens/yahooMail.json") If (success <> 1) Then outFile.WriteLine("Failed to load Yahoo Mail access token file.") WScript.Quit End If accessToken = json.StringOf("access_token") ' Do OAuth2 authentication by using the access token as the password in the Login method below... ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Imap") set imap = CreateObject("Chilkat.Imap") imap.Ssl = 1 imap.Port = 993 ' Tell Chilkat IMAP to keep a session log. imap.KeepSessionLog = 1 ' Connect to the Yahoo IMAP server. success = imap.Connect("imap.mail.yahoo.com") If (success <> 1) Then outFile.WriteLine(imap.LastErrorText) WScript.Quit End If ' Indicate that XOAUTH2 authentication is to be used: imap.AuthMethod = "XOAUTH2" ' Login ' Use the email address of the Yahoo Mail account that granted authorization. success = imap.Login("user@yahoo.com",accessToken) If (success <> 1) Then outFile.WriteLine(imap.LastErrorText) Else outFile.WriteLine("Successfully authenticated with Yahoo IMAP using XOAUTH2!") End If ' The ListMailboxes method returns a Mailboxes object ' that contains the collection of mailboxes. ' It accepts two arguments: a refName and a wildcardedMailbox. refName = "" ' 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: wildcardedMailbox = "*" ' mboxes is a Chilkat.Mailboxes Set mboxes = imap.ListMailboxes(refName,wildcardedMailbox) If (imap.LastMethodSuccess = 0) Then outFile.WriteLine(imap.LastErrorText) WScript.Quit End If i = 0 Do While i < mboxes.Count outFile.WriteLine(mboxes.GetName(i)) i = i + 1 Loop ' Sample output looks like this: ' Archive ' Bulk Mail ' Draft ' Inbox ' Inbox/emailsWithAttach ' Inbox/test ' Sent ' Trash ' Examine the session log outFile.WriteLine(imap.SessionLog) ' 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. success = imap.Disconnect() outFile.Close |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.