(PHP 4, PHP 5, PHP 7, PHP 8)
imap_delete — 現在のメールボックスから削除するメッセージに印を付ける
message_nums
が指すメッセージに 削除予定のマークをします。削除マークを付けられたメッセージは、 imap_expunge() がコールされるか imap_close() に CL_EXPUNGE
を付けてコールされるかのどちらかが行われるまでメールボックスに残ったままになります。
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 "Messages before delete: " . $check->Nmsgs . "<br />\n";
imap_delete($mbox, 1);
$check = imap_mailboxmsginfo($mbox);
echo "Messages after delete: " . $check->Nmsgs . "<br />\n";
imap_expunge($mbox);
$check = imap_mailboxmsginfo($mbox);
echo "Messages after expunge: " . $check->Nmsgs . "<br />\n";
imap_close($mbox);
?>
注意:
IMAP メールボックスは、コネクション間で保存可能なメッセージフラグを持っていません。 そのため、削除マークをつけたメッセージが本当に削除されたことを保証するためには、 同一の接続内で imap_expunge() をコールする必要があります。