the function is using the message number (and not the uid !)
$uid = $mail->uid;
$msgno = $mail->msgno;
if you want to use the uid, simply option value
imap_delete($mbox, $uid, FT_UID);
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_delete — Marca el fichero para el borrado, en el buzón de correo actual
Marca los mensajes message_nums
para el borrado.
El borrado real no intervendrá hasta la llamada de la función
imap_expunge() o de imap_close()
con el parámetro opcional CL_EXPUNGE
.
imap
An IMAP\Connection instance.
message_nums
Un string representando uno o varios mensajes en un estilo de
formato de una secuencia IMAP4 ("n"
,
"n:m"
, o una combinación de esto,
delimitado por comas).
flags
Puede ser definido a FT_UID
que solicita a la función tratar el argumento
message_nums
como un UID
.
Siempre devuelve true
.
Lanza una excepción ValueError si el parámetro flags
es inválido.
Versión | Descripción |
---|---|
8.1.0 |
The imap parameter expects an IMAP\Connection
instance now; previously, a valid imap recurso was expected.
|
8.0.0 |
Una excepción ValueError es ahora lanzada
para valores de parámetro flags inválidos. Anteriormente,
una advertencia era emitida y la función retornaba false .
|
Ejemplo #1 Ejemplo con imap_delete()
<?php
$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
or die("Conexión imposible : " . imap_last_error());
$check = imap_mailboxmsginfo($mbox);
echo "Número de mensajes antes del borrado : " . $check->Nmsgs . "<br />\n";
imap_delete($mbox, 1);
$check = imap_mailboxmsginfo($mbox);
echo "Número de mensajes después del borrado : " . $check->Nmsgs . "<br />\n";
imap_expunge($mbox);
$check = imap_mailboxmsginfo($mbox);
echo "Número de mensajes después de imap_expunge : " . $check->Nmsgs . "<br />\n";
imap_close($mbox);
?>
Nota:
Los buzones de correo IMAP no tienen los flags de sus mensajes guardados entre las conexiones, por lo que la función imap_expunge() debe ser llamada durante la misma conexión para que los mensajes marcados para el borrado sean realmente purgados.