此函式使用的是訊息編號(而不是 uid!)
$uid = $mail->uid;
$msgno = $mail->msgno;
如果您想使用 uid,只需設定選項值
imap_delete($mbox, $uid, FT_UID);
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_delete — 標記訊息以從目前信箱中刪除
標記 message_nums
中列出的訊息以進行刪除。標記為刪除的訊息將保留在信箱中,直到呼叫 imap_expunge() 或使用可選參數 CL_EXPUNGE
呼叫 imap_close() 為止。
imap
一個 IMAP\Connection 實例。
message_nums
一個 字串,代表一或多個訊息,使用 IMAP4 樣式的序列格式 ("n"
、"n:m"
或以逗號分隔的這些組合)。
flags
您可以設定 FT_UID
,它會告訴函式將 message_nums
參數視為 UID
。
永遠返回 true
。
如果 flags
無效,則會拋出 ValueError。
版本 | 說明 |
---|---|
8.1.0 | imap 參數現在需要一個 IMAP\Connection 實例;先前需要一個有效的 imap 資源。 |
8.0.0 | 現在,如果 flags 參數值無效,則會拋出 ValueError。先前會發出警告,並且函式返回 false 。 |
範例 #1 imap_delete() 範例
<?php
$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
or die("無法連線: " . imap_last_error());
$check = imap_mailboxmsginfo($mbox);
echo "刪除前的訊息數量: " . $check->Nmsgs . "<br />\n";
imap_delete($mbox, 1);
$check = imap_mailboxmsginfo($mbox);
echo "刪除後的訊息數量: " . $check->Nmsgs . "<br />\n";
imap_expunge($mbox);
$check = imap_mailboxmsginfo($mbox);
echo "清除後的訊息數量: " . $check->Nmsgs . "<br />\n";
imap_close($mbox);
?>
注意:
IMAP 郵箱可能不會在連線之間儲存其訊息旗標,因此 imap_expunge() 應該在同一個連線期間被呼叫,以確保標記為刪除的訊息實際上會被清除。