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

# imap_delete

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

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

### 説明

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

`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` resource が期待されていました。
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 ストリームをクローズする

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open