phpday 2025 - Call For Papers

imap_delete

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_deleteMarque le fichier pour l'effacement, dans la boîte aux lettres courante

Description

imap_delete(IMAP\Connection $imap, string $message_nums, int $flags = 0): bool

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.

Liste de paramètres

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.

Valeurs de retour

Retourne toujours true.

Erreurs / Exceptions

Lance une exception ValueError si le paramètre flags est invalide.

Historique

Version Description
8.1.0 La paramètre imap attend désormais une instance de IMAP\Connection ; auparavant, une ressource 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.

Exemples

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);
?>

Notes

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.

Voir aussi

add a note

User Contributed Notes 1 note

up
7
erational
11 years ago
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);
To Top