6.3.5 DELETE コマンド
引数 (Arguments): メールボックス名
応答 (Responses): オプションのタグなし応答:LIST
結果 (Result):
- OK - delete 完了
- NO - delete 失敗:その名前のメールボックスを削除できません
- BAD - コマンド不明または引数が無効
DELETE コマンドは、指定された名前のメールボックスを永続的に削除します。タグ付き OK 応答は、メールボックスが削除された場合にのみ返されます。INBOX または存在しないメールボックス名を削除しようとするとエラーになります。
DELETE コマンドは、下位の階層名を削除してはなりません (してはなりません)。たとえば、メールボックス「foo」に下位「foo.bar」がある場合 (「.」が階層区切り文字であると仮定)、「foo」を削除しても「foo.bar」を削除してはなりません (してはなりません)。下位階層名を持ち、\Noselect メールボックス名属性も持つ名前を削除しようとするとエラーになります (詳細については、セクション 7.3.1 の LIST 応答の説明を参照してください)。
下位階層名を持ち、\Noselect メールボックス名属性を持たない名前を削除することは許可されています。下位階層名が存在する間に名前の削除を許可しないサーバー実装の場合、タグ付き NO 応答を返すことで DELETE コマンドを禁止するべきです (すべきです)。NO 応答には HASCHILDREN 応答コードを含めるべきです (すべきです)。または、サーバーは DELETE コマンドを許可してもよい (してもよい) ですが、その名前に \Noselect メールボックス名属性を設定します。
サーバーが OK 応答を返した場合、そのメールボックス内のすべてのメッセージが DELETE コマンドによって削除されます。
削除されたメールボックスの最も高く使用された一意識別子の値は保持されなければなりません (しなければなりません)。これにより、同じ名前で作成された新しいメールボックスが、新しい化身が異なる一意識別子有効性値を持たない限り、以前の化身の識別子を再利用しないようにします。詳細については、セクション 6.4.9 の UID コマンドの説明を参照してください。
サーバーがメールボックス名を変換 (正規化) することを決定した場合、"\NonExistent" 属性と OLDNAME 拡張データ項目を含むタグなし LIST を返すべきです (すべきです)。OLDNAME 値は提供されたメールボックス名であり、name パラメータは正規化されたメールボックス名です。(詳細については、セクション 6.3.9.7 を参照してください。)
1 つの IMAP セッションで削除されたメールボックスは、"\NonExistent" 属性を含む要請されていない LIST 応答を使用して、他の IMAP セッションに通知してもよい (してもよい) です。
例:
C: A682 LIST "" *
S: * LIST () "/" blurdybloop
S: * LIST (\Noselect) "/" foo
S: * LIST () "/" foo/bar
S: A682 OK LIST completed
C: A683 DELETE blurdybloop
S: A683 OK DELETE completed
C: A684 DELETE foo
S: A684 NO Name "foo" has inferior hierarchical names
C: A685 DELETE foo/bar
S: A685 OK DELETE Completed
C: A686 LIST "" *
S: * LIST (\Noselect) "/" foo
S: A686 OK LIST completed
C: A687 DELETE foo
S: A687 OK DELETE Completed
例:
C: A82 LIST "" *
S: * LIST () "." blurdybloop
S: * LIST () "." foo
S: * LIST () "." foo.bar
S: A82 OK LIST completed
C: A83 DELETE blurdybloop
S: A83 OK DELETE completed
C: A84 DELETE foo
S: A84 OK DELETE Completed
C: A85 LIST "" *
S: * LIST () "." foo.bar
S: A85 OK LIST completed
C: A86 LIST "" %
S: * LIST (\Noselect) "." foo
S: A86 OK LIST completed