Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Delete All IMAP EmailDemonstrates two ways to delete all email in a mailbox on an IMAP server.
use chilkat; $imap = new chilkat::CkImap(); # Anything unlocks the component and begins a fully-functional 30-day trial. $success = $imap->UnlockComponent("Anything for 30-day trial"); if ($success != 1) { print $imap->lastErrorText() . "\n"; exit; } # Turn on session logging: $imap->put_KeepSessionLog(1); # Connect to an IMAP server. $success = $imap->Connect("mail.chilkatsoft.com"); if ($success != 1) { print $imap->lastErrorText() . "\n"; exit; } # Login $success = $imap->Login("myLogin","myPassword"); if ($success != 1) { print $imap->lastErrorText() . "\n"; exit; } # Select an IMAP mailbox $success = $imap->SelectMailbox("Inbox.RubyMail"); if ($success != 1) { print $imap->lastErrorText() . "\n"; exit; } # Get the complete set of Uids for email in the selected mailbox. $messageSet = $imap->GetAllUids(); if ($messageSet eq null ) { print $imap->lastErrorText() . "\n"; exit; } # Set the Deleted flag for each message. # (ExpungeAndClose must be called to finalize the delete.) $success = $imap->SetFlags($messageSet,"Deleted",1); if ($success != 1) { print $imap->lastErrorText() . "\n"; exit; } # Alternatively, the Deleted flag may be set for each UID # individiually, but this is less efficient: $n = $messageSet->get_Count(); for ($i = 0; $i <= $n - 1; $i++) { $success = $imap->SetFlag($messageSet->GetId($i),$messageSet->get_HasUids(),"Deleted",1); if ($success != 1) { print $imap->lastErrorText() . "\n"; exit; } } # Expunge and close the mailbox. $success = $imap->ExpungeAndClose(); if ($success != 1) { print $imap->lastErrorText() . "\n"; exit; } # Display the session log. print $imap->sessionLog() . "\r\n"; # Disconnect from the IMAP server. $imap->Disconnect(); |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.