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 — Marque le fichier pour l'effacement, dans la boîte aux lettres courante
Marque les messages message_nums
pour l'effacement.
L'effacement réel n'interviendra que lors de l'appel de la fonction
imap_expunge() ou de imap_close()
avec le paramètre optionnel CL_EXPUNGE
.
imap
Une instance de IMAP\Connection.
message_nums
Une chaîne de caractères représentant un ou plusieurs messages dans un style de
format d'une séquence IMAP4 ("n"
,
"n:m"
, ou une combinaison de ceci,
délimité par des virgules).
flags
Vous pouvez le définir à FT_UID
qui demande à la fonction de traiter l'argument
message_nums
comme un UID
.
Retourne toujours true
.
Lance une exception ValueError si le paramètre flags
est invalide.
Version | Description |
---|---|
8.1.0 |
La paramètre imap attend désormais une instance de
IMAP\Connection ; auparavant, une resource imap était attendue.
|
8.0.0 |
Une exception ValueError est désormais lancée
pour des valeurs de paramètre flags invalides. Auparavant,
un avertissement était émis et la fonction retournait false .
|
Exemple #1 Exemple avec imap_delete()
<?php
$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
or die("Connexion impossible : " . imap_last_error());
$check = imap_mailboxmsginfo($mbox);
echo "Nombre de messages avant effacement : " . $check->Nmsgs . "<br />\n";
imap_delete($mbox, 1);
$check = imap_mailboxmsginfo($mbox);
echo "Nombre de messages après effacement : " . $check->Nmsgs . "<br />\n";
imap_expunge($mbox);
$check = imap_mailboxmsginfo($mbox);
echo "Nombre de messages après imap_expunge : " . $check->Nmsgs . "<br />\n";
imap_close($mbox);
?>
Note:
Les boîtes aux lettres IMAP n'ont pas les flags de leurs messages de sauvegardés entre les connexions, aussi la fonction imap_expunge() doit être appelée pendant la même connexion pour que les messages marquées pour effacement soient réellement purgés.