Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : IMAP, POP3 and NNTP Functions : imap_delete

imap_delete

Mark a message for deletion from current mailbox (PHP 4, PHP 5)
bool imap_delete ( int imap_stream, int msg_number [, int options] )

Example 1047. imap_delete() example

<?php

$mbox
= imap_open("{imap.example.org}INBOX", "username", "password")
   or die(
"Can't connect: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);
echo
"Messages before delete: " . $check->Nmsgs . "<br />\n";

imap_delete($mbox, 1);

$check = imap_mailboxmsginfo($mbox);
echo
"Messages after  delete: " . $check->Nmsgs . "<br />\n";

imap_expunge($mbox);

$check = imap_mailboxmsginfo($mbox);
echo
"Messages after expunge: " . $check->Nmsgs . "<br />\n";

imap_close($mbox);
?>

Code Examples / Notes » imap_delete

james g

I had some major issues deleting emails using this function.  Using IIS 5.0 and a win based Mail Server, I could not delete the emails individually.
My script merely needed to check the emails and update the database for bounce backs, after which I simply wanted to erase all emails.
If imap_delete($mbox,$email->MsgNo) just isnt working for you, you can try using
imap_delete($mbox,'1:*');
to clear out an entire mailbox.
Hope this helps cause it drove me insane for about 5 hours.  :)


jacky

// is not a complete code but enough to clear out an entire mailbox.
// hope this can save your time :-)
<?php
if (isset($_REQUEST['DoNow']))
{
 # PULL ADDITIONAL FILES
 include_once ("common.php");
 
 $conn = @imap_open("\{$server/$serverType}Trash", $user, $pass)
 or die("Connection to folder failed");
 
 $headers = @imap_check($conn);
 ($headers->Nmsgs > 0) or die("Trash is empty already !");
 
 // delete email(s)
 @imap_delete($conn,'1:*');   // to clear out an entire mailbox.
 @imap_expunge($conn);
 echo "Trash is empty.";
 
 imap_close($conn);
}
else
{
 echo "<form name='formA' action='".$_SERVER['PATH_INFO']."' method='POST'>"; ?>
 Are you sure to empty trash ?
 


 <input type="submit" value="Go Ahead" name="DoNow">&nbsp;
 <input type="button" value="Cancel" name="Cancel" onClick='javascript:self.history.go(-1)'></form>
<?php
} ?>


Change Language


Follow Navioo On Twitter
imap_8bit
imap_alerts
imap_append
imap_base64
imap_binary
imap_body
imap_bodystruct
imap_check
imap_clearflag_full
imap_close
imap_createmailbox
imap_delete
imap_deletemailbox
imap_errors
imap_expunge
imap_fetch_overview
imap_fetchbody
imap_fetchheader
imap_fetchstructure
imap_get_quota
imap_get_quotaroot
imap_getacl
imap_getmailboxes
imap_getsubscribed
imap_header
imap_headerinfo
imap_headers
imap_last_error
imap_list
imap_listmailbox
imap_listscan
imap_listsubscribed
imap_lsub
imap_mail_compose
imap_mail_copy
imap_mail_move
imap_mail
imap_mailboxmsginfo
imap_mime_header_decode
imap_msgno
imap_num_msg
imap_num_recent
imap_open
imap_ping
imap_qprint
imap_renamemailbox
imap_reopen
imap_rfc822_parse_adrlist
imap_rfc822_parse_headers
imap_rfc822_write_address
imap_savebody
imap_scanmailbox
imap_search
imap_set_quota
imap_setacl
imap_setflag_full
imap_sort
imap_status
imap_subscribe
imap_thread
imap_timeout
imap_uid
imap_undelete
imap_unsubscribe
imap_utf7_decode
imap_utf7_encode
imap_utf8
eXTReMe Tracker