![]()  | 
  
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 FoxPro) 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. 
 LOCAL lnSuccess LOCAL loImap LOCAL lnFetchUids LOCAL loMessageSet LOCAL loBundle LOCAL lnHeadersOnly LOCAL loEmail LOCAL i LOCAL lnNumEmails lnSuccess = 0 * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. loImap = CreateObject('Chilkat.Imap') * Connect to an IMAP server. * Use TLS loImap.Ssl = 1 loImap.Port = 993 lnSuccess = loImap.Connect("imap.someMailServer.com") IF (lnSuccess = 0) THEN ? loImap.LastErrorText RELEASE loImap CANCEL ENDIF * Login lnSuccess = loImap.Login("myLogin","myPassword") IF (lnSuccess = 0) THEN ? loImap.LastErrorText RELEASE loImap CANCEL ENDIF * Select an IMAP mailbox lnSuccess = loImap.SelectMailbox("Inbox") IF (lnSuccess = 0) THEN ? loImap.LastErrorText RELEASE loImap CANCEL ENDIF * We can choose to fetch UIDs or sequence numbers. lnFetchUids = 1 * Get the message IDs of all the emails in the mailbox loMessageSet = CreateObject('Chilkat.MessageSet') lnSuccess = loImap.QueryMbx("ALL",lnFetchUids,loMessageSet) IF (lnSuccess = 0) THEN ? loImap.LastErrorText RELEASE loImap RELEASE loMessageSet CANCEL ENDIF * Fetch the emails into a bundle object: loBundle = CreateObject('Chilkat.EmailBundle') lnHeadersOnly = 0 lnSuccess = loImap.FetchMsgSet(lnHeadersOnly,loMessageSet,loBundle) IF (lnSuccess = 0) THEN ? loImap.LastErrorText RELEASE loImap RELEASE loMessageSet RELEASE loBundle CANCEL ENDIF * To mark a complete set of emails for deletion, call SetFlags: lnSuccess = loImap.SetFlags(loMessageSet,"Deleted",1) IF (lnSuccess = 0) THEN ? loImap.LastErrorText RELEASE loImap RELEASE loMessageSet RELEASE loBundle CANCEL ENDIF * Messages can also be marked for deletion individually: * Loop over the bundle and mark each message for deletion. loEmail = CreateObject('Chilkat.Email') i = 0 lnNumEmails = loBundle.MessageCount DO WHILE i < lnNumEmails loBundle.EmailAt(i,loEmail) ? loEmail.From ? loEmail.Subject * To delete this email, set the "Deleted" flag to 1. * The email is not actually deleted until Expunge or * ExpungeAndClose is called. lnSuccess = loImap.SetMailFlag(loEmail,"Deleted",1) IF (lnSuccess = 0) THEN ? loImap.LastErrorText RELEASE loImap RELEASE loMessageSet RELEASE loBundle RELEASE loEmail CANCEL ENDIF ? "--" i = i + 1 ENDDO lnSuccess = loImap.ExpungeAndClose() IF (lnSuccess = 0) THEN ? loImap.LastErrorText RELEASE loImap RELEASE loMessageSet RELEASE loBundle RELEASE loEmail CANCEL ENDIF * Disconnect from the IMAP server. lnSuccess = loImap.Disconnect() RELEASE loImap RELEASE loMessageSet RELEASE loBundle RELEASE loEmail  | 
  ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.