PHP: imap_delete - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

imap_deletemailbox imap_createmailbox

Last updated: Sat, 27 Jan 2007

view this page in

# imap_delete

(PHP 3, PHP 4, PHP 5)

imap_delete -- Mark a message for deletion from current mailbox

## Описание

bool imap_delete ( int imap_stream, int msg_number [, int options] )

Marks messages listed in `msg_number` for deletion. Messages marked for deletion will stay in the mailbox until either imap_expunge() is called or imap_close() is called with the optional parameter `CL_EXPUNGE`.

## Список параметров

`imap_stream`

  An IMAP stream returned by imap_open().

`msg_number`

  The message number

`options`

  You can set the `FT_UID` which tells the function to treat the `msg_number` argument as an `UID`.

## Возвращаемые значения

Returns `TRUE`.

## Примеры

Пример 1. 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);
?>`

## Примечания

> Замечание: POP3 mailboxes do not have their message flags saved between connections, so imap_expunge() must be called during the same connection in order for messages marked for deletion to actually be purged.

## Смотрите также

imap_undelete()
imap_expunge()
imap_close()

add a note User Contributed Notes
imap_delete
jacky at jackyhome dot myvnc dot com
09-Nov-2003 01:42
`// 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 ?
<p>
<input type="submit" value="Go Ahead" name="DoNow">&nbsp;
<input type="button" value="Cancel" name="Cancel" onClick='javascript:self.history.go(-1)'></form></p>
<?php
} ?>`
James G
09-Apr-2003 09:05
`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. :)`
add a note
imap_deletemailbox imap_createmailbox

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST