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