imap_delete

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

imap_delete現在のメールボックスから削除するメッセージに印を付ける

説明

imap_delete(resource$imap, string$message_num, int$flags = 0): bool

message_num が指すメッセージに 削除予定のマークをします。削除マークを付けられたメッセージは、 imap_expunge() がコールされるか imap_close()CL_EXPUNGE を付けてコールされるかのどちらかが行われるまでメールボックスに残ったままになります。

パラメータ

imap

imap_open()が返す IMAP ストリーム。

message_num

メッセージ番号。

flags

FT_UID を指定すると、 引数 message_numUID として処理することを関数に指示できます。

返り値

Returns true.

例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($mbox1);

$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 ストリームをクローズする