![]() |
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
(VB.NET) 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.
Dim success As Boolean = 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" ' } Dim json As New Chilkat.JsonObject success = json.LoadFile("qa_data/tokens/yahooMail.json") If (success <> True) Then Debug.WriteLine("Failed to load Yahoo Mail access token file.") Exit Sub End If Dim accessToken As String = json.StringOf("access_token") ' Do OAuth2 authentication by using the access token as the password in the Login method below... Dim imap As New Chilkat.Imap imap.Ssl = True imap.Port = 993 ' Tell Chilkat IMAP to keep a session log. imap.KeepSessionLog = True ' Connect to the Yahoo IMAP server. success = imap.Connect("imap.mail.yahoo.com") If (success = False) Then Debug.WriteLine(imap.LastErrorText) Exit Sub 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 <> True) Then Debug.WriteLine(imap.LastErrorText) Else Debug.WriteLine("Successfully authenticated with Yahoo IMAP using XOAUTH2!") End If ' Get the list of mailboxes. Dim refName As String = "" Dim wildcardedMailbox As String = "*" Dim subscribed As Boolean = False Dim mboxes As New Chilkat.Mailboxes success = imap.MbxList(subscribed,refName,wildcardedMailbox,mboxes) If (success = False) Then Debug.WriteLine(imap.LastErrorText) Exit Sub End If Dim i As Integer = 0 While i < mboxes.Count Debug.WriteLine(mboxes.GetName(i)) i = i + 1 End While ' Sample output looks like this: ' Archive ' Bulk Mail ' Draft ' Inbox ' Inbox/emailsWithAttach ' Inbox/test ' Sent ' Trash ' Examine the session log Debug.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() |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.