Zum Hauptinhalt springen

6.3.5 DELETE-Befehl

Argumente: Postfachname

Antworten: OPTIONALE nicht markierte Antwort: LIST

Ergebnis:

  • OK - delete abgeschlossen
  • NO - delete fehlgeschlagen: kann Postfach mit diesem Namen nicht löschen
  • BAD - Befehl unbekannt oder Argumente ungültig

Der DELETE-Befehl entfernt das Postfach mit dem angegebenen Namen dauerhaft. Eine markierte OK-Antwort wird nur zurückgegeben, wenn das Postfach gelöscht wurde. Es ist ein Fehler, zu versuchen, INBOX oder einen nicht existierenden Postfachnamen zu löschen.

Der DELETE-Befehl darf keine (darf keine) untergeordneten hierarchischen Namen entfernen. Wenn beispielsweise ein Postfach "foo" einen untergeordneten "foo.bar" hat (angenommen "." ist das Hierarchietrennzeichen), darf (darf) das Entfernen von "foo" nicht "foo.bar" entfernen. Es ist ein Fehler, zu versuchen, einen Namen zu löschen, der untergeordnete hierarchische Namen hat und auch das \Noselect-Postfachnamenattribut hat (siehe die Beschreibung der LIST-Antwort (Abschnitt 7.3.1) für weitere Details).

Es ist erlaubt, einen Namen zu löschen, der untergeordnete hierarchische Namen hat und nicht das \Noselect-Postfachnamenattribut hat. Wenn die Serverimplementierung das Löschen des Namens nicht erlaubt, während untergeordnete hierarchische Namen existieren, sollte (sollte) sie den DELETE-Befehl ablehnen, indem sie eine markierte NO-Antwort zurückgibt. Die NO-Antwort sollte (sollte) den HASCHILDREN-Antwortcode enthalten. Alternativ kann (kann) der Server den DELETE-Befehl zulassen, aber er setzt das \Noselect-Postfachnamenattribut für diesen Namen.

Wenn der Server eine OK-Antwort zurückgibt, werden alle Nachrichten in diesem Postfach durch den DELETE-Befehl entfernt.

Der Wert des höchsten verwendeten eindeutigen Identifikators des gelöschten Postfachs muss (muss) erhalten bleiben, damit ein neues Postfach, das mit demselben Namen erstellt wird, die Identifikatoren der früheren Inkarnation nicht wiederverwendet, es sei denn, die neue Inkarnation hat einen anderen Gültigkeitswert für eindeutige Identifikatoren. Siehe die Beschreibung des UID-Befehls in Abschnitt 6.4.9 für weitere Details.

Wenn der Server beschließt, den Postfachnamen zu konvertieren (normalisieren), sollte (sollte) er eine nicht markierte LIST mit dem Attribut "\NonExistent" und dem erweiterten Datenelement OLDNAME zurückgeben, wobei der OLDNAME-Wert der bereitgestellte Postfachname ist und der name-Parameter der normalisierte Postfachname ist. (Siehe Abschnitt 6.3.9.7 für weitere Details.)

In einer IMAP-Sitzung gelöschte Postfächer können (können) anderen IMAP-Sitzungen über eine unaufgeforderte LIST-Antwort angekündigt werden, die das Attribut "\NonExistent" enthält.

Beispiel:

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

Beispiel:

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