imap_delete
(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() をコールする必要があります。
参考
- imap_undelete() - 削除マークがついているメッセージのマークをはずす
- imap_expunge() - 削除用にマークされたすべてのメッセージを削除する
- imap_close() - IMAP ストリームをクローズする
+add a note