メインコンテンツまでスキップ

6.3.4 CREATE コマンド

引数 (Arguments): メールボックス名

応答 (Responses): オプションのタグなし応答:LIST

結果 (Result):

  • OK - create 完了
  • NO - create 失敗:その名前でメールボックスを作成できません
  • BAD - コマンド不明または引数が無効

CREATE コマンドは、指定された名前のメールボックスを作成します。OK 応答は、その名前の新しいメールボックスが作成された場合にのみ返されます。INBOX または既存のメールボックスを参照する名前のメールボックスを作成しようとするとエラーになります。作成中のエラーは、タグ付き NO 応答を返します。クライアントが有効な Net-Unicode 名ではない UTF-8 メールボックス名を作成しようとする場合、サーバーは作成を拒否するか、メールボックスを作成する前に名前を Net-Unicode に変換しなければなりません (しなければなりません)。サーバーが名前を変換 (正規化) することを決定した場合、OLDNAME 拡張データ項目を含むタグなし LIST を返すべきです (すべきです)。OLDNAME 値は提供されたメールボックス名であり、name パラメータは正規化されたメールボックス名です。(詳細については、セクション 6.3.9.7 を参照してください。)

1 つの IMAP セッションで作成されたメールボックスは、要請されていない LIST 応答を使用して他の IMAP セッションに通知してもよい (してもよい) です。サーバーが作成時にメールボックスを自動的にサブスクライブする場合、影響を受ける各サブスクライブ済みメールボックス名に対する要請されていない LIST 応答には、\Subscribed 属性を含めなければなりません (しなければなりません)。

メールボックス名にサーバーの階層区切り文字 (LIST コマンドによってサーバーから返される) がサフィックスとして付けられている場合、これはクライアントが階層内でこの名前の下にメールボックス名を作成する意図があるという宣言です。この宣言を必要としないサーバー実装は、宣言を無視しなければなりません (しなければなりません)。いずれの場合も、作成される名前には末尾の階層区切り文字がありません。

サーバーの階層区切り文字が名前の他の場所に出現する場合、サーバーは CREATE コマンドを正常に完了するために必要な上位の階層名を作成するべきです (すべきです)。言い換えれば、"/" が階層区切り文字であるサーバーで "foo/bar/zap" を作成しようとすると、foo/ と foo/bar/ がまだ存在しない場合は作成するべきです (すべきです)。

削除されたメールボックスと同じ名前で新しいメールボックスを作成する場合、その一意識別子は、新しい化身が異なる一意識別子有効性値を持たない限り、メールボックスの以前の化身で使用された一意識別子よりも大きくなければなりません (しなければなりません)。詳細については、セクション 6.4.9 の UID コマンドの説明を参照してください。

例:

C: A003 CREATE owatagusiam/
S: A003 OK CREATE completed
C: A004 CREATE owatagusiam/blurdybloop
S: A004 OK CREATE completed
C: A005 CREATE NonNormalized
S: * LIST () "/" "Normalized" ("OLDNAME" ("NonNormalized"))
S: A005 OK CREATE completed

(最後の例では、「NonNormalized」が非 NFC 正規化 Unicode メールボックス名であり、「Normalized」がその NFC 正規化バージョンであると想像してください。)

**注意:**この例の解釈は、"/" が LIST から階層区切り文字として返されたかどうかに依存します。"/" が階層区切り文字の場合、「blurdybloop」というメンバーを持つ「owatagusiam」という名前の新しい階層レベルが作成されます。それ以外の場合、同じ階層レベルに 2 つのメールボックスが作成されます。