PHP 8.4.1 Released!

imap_delete

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

imap_deleteMarkiert eine Nachricht im aktuellen Postfach zur Löschung

Beschreibung

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

Die mit message_nums angegebene Nachricht wird zur Löschung vorgemerkt. Entsprechend markierte Nachrichten bleiben im Postfach erhalten, bis entweder imap_expunge() aufgerufen wird oder imap_close() mit der Option CL_EXPUNGE beim Schließen der Verbindung.

Parameter-Liste

imap

Eine IMAP\Connection-Instanz.

message_nums

Ein String, der eine oder mehrere Nachrichten im IMAP4-üblichen Sequenzformat darstellt ("n", "n:m" oder eine Kombination daraus, durch Kommas getrennt).

flags

Mit Hilfe der Option FT_UID kann festgelegt werden, dass message_nums UIDs anstelle der Nachrichtennummern enthält.

Rückgabewerte

Gibt immer true zurück.

Fehler/Exceptions

Wenn flags ungültig ist, wird ein ValueError geworfen.

Changelog

Version Beschreibung
8.1.0 Der Parameter imap erwartet nun eine IMAP\Connection-Instanz; vorher wurde eine gültige imap-Ressource erwartet.
8.0.0 Bei ungültigen Parameterwerten von flags wird nun ein ValueError geworfen; zuvor wurde eine Warnung ausgegeben und die Funktion gab false zurück.

Beispiele

Beispiel #1 imap_delete()-Beispiel

<?php

$mbox
= imap_open("{imap.example.org}INBOX", "username", "password")
or die(
"Kann keine Verbindung aufbauen: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);
echo
"Anzahl der Nachrichten vor imap_delete: " . $check->Nmsgs . "<br />\n";

imap_delete($mbox, 1);

$check = imap_mailboxmsginfo($mbox);
echo
"Anzahl der Nachrichten nach imap_delete: " . $check->Nmsgs . "<br />\n";

imap_expunge($mbox);

$check = imap_mailboxmsginfo($mbox);
echo
"Anzahl der Nachrichten nach imap_expunge: " . $check->Nmsgs . "<br />\n";

imap_close($mbox);
?>

Anmerkungen

Hinweis:

Bei IMAP-Postfächern können Nachrichten-Flags serverseitig nicht zwischen Verbindungen gespeichert werden; markierte Nachrichten sollten daher noch während der aktuellen Verbindung mit imap_expunge() entfernt werden, ansonsten bleiben sie möglicherweise ohne Löschmarkierung weiter erhalten.

Siehe auch

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