![]() |
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
(Visual Basic 6.0) Delete Email Individually (One at a time) from an IMAP MailboxDownloads email from an IMAP mailbox and deletes emails individually (one by one). Note: This example requires Chilkat v11.0.0 or greater.
Dim success As Long success = 0 ' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim imap As New ChilkatImap ' Connect to an IMAP server. ' Use TLS imap.Ssl = 1 imap.Port = 993 success = imap.Connect("imap.someMailServer.com") If (success = 0) Then Debug.Print imap.LastErrorText Exit Sub End If ' Login success = imap.Login("myLogin","myPassword") If (success = 0) Then Debug.Print imap.LastErrorText Exit Sub End If ' Select an IMAP mailbox success = imap.SelectMailbox("Inbox") If (success = 0) Then Debug.Print imap.LastErrorText Exit Sub End If ' We can choose to fetch UIDs or sequence numbers. Dim fetchUids As Long fetchUids = 1 ' Get the message IDs of all the emails in the mailbox Dim messageSet As New MessageSet success = imap.QueryMbx("ALL",fetchUids,messageSet) If (success = 0) Then Debug.Print imap.LastErrorText Exit Sub End If ' Fetch the emails into a bundle object: Dim bundle As New ChilkatEmailBundle Dim headersOnly As Long headersOnly = 0 success = imap.FetchMsgSet(headersOnly,messageSet,bundle) If (success = 0) Then Debug.Print imap.LastErrorText Exit Sub End If ' To mark a complete set of emails for deletion, call SetFlags: success = imap.SetFlags(messageSet,"Deleted",1) If (success = 0) Then Debug.Print imap.LastErrorText Exit Sub End If ' Messages can also be marked for deletion individually: ' Loop over the bundle and mark each message for deletion. Dim email As New ChilkatEmail Dim i As Long i = 0 Dim numEmails As Long numEmails = bundle.MessageCount Do While i < numEmails success = bundle.EmailAt(i,email) Debug.Print email.From Debug.Print email.Subject ' To delete this email, set the "Deleted" flag to 1. ' The email is not actually deleted until Expunge or ' ExpungeAndClose is called. success = imap.SetMailFlag(email,"Deleted",1) If (success = 0) Then Debug.Print imap.LastErrorText Exit Sub End If Debug.Print "--" i = i + 1 Loop success = imap.ExpungeAndClose() If (success = 0) Then Debug.Print imap.LastErrorText Exit Sub End If ' Disconnect from the IMAP server. success = imap.Disconnect() |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.