Passa al contenuto principale

6.3.5 Comando DELETE

Argomenti: nome casella di posta

Risposte: Risposta non taggata OPZIONALE: LIST

Risultato:

  • OK - delete completata
  • NO - delete fallita: impossibile eliminare casella di posta con quel nome
  • BAD - comando sconosciuto o argomenti non validi

Il comando DELETE rimuove permanentemente la casella di posta con il nome specificato. Una risposta OK taggata viene restituita solo se la casella di posta è stata eliminata. È un errore tentare di eliminare INBOX o un nome di casella di posta che non esiste.

Il comando DELETE non deve (non deve) rimuovere nomi gerarchici inferiori. Ad esempio, se una casella di posta "foo" ha un inferiore "foo.bar" (supponendo che "." sia il carattere delimitatore di gerarchia), la rimozione di "foo" non deve (non deve) rimuovere "foo.bar". È un errore tentare di eliminare un nome che ha nomi gerarchici inferiori e ha anche l'attributo nome casella di posta \Noselect (vedere la descrizione della risposta LIST (Sezione 7.3.1) per maggiori dettagli).

È consentito eliminare un nome che ha nomi gerarchici inferiori e non ha l'attributo nome casella di posta \Noselect. Se l'implementazione del server non consente l'eliminazione del nome mentre esistono nomi gerarchici inferiori, allora dovrebbe (dovrebbe) vietare il comando DELETE restituendo una risposta NO taggata. La risposta NO dovrebbe (dovrebbe) includere il codice di risposta HASCHILDREN. In alternativa, il server può (può) consentire il comando DELETE, ma imposta l'attributo nome casella di posta \Noselect per quel nome.

Se il server restituisce una risposta OK, tutti i messaggi in quella casella di posta vengono rimossi dal comando DELETE.

Il valore dell'identificatore univoco più alto utilizzato della casella di posta eliminata deve (deve) essere preservato in modo che una nuova casella di posta creata con lo stesso nome non riutilizzi gli identificatori dell'incarnazione precedente, a meno che la nuova incarnazione non abbia un valore di validità dell'identificatore univoco diverso. Vedere la descrizione del comando UID nella Sezione 6.4.9 per maggiori dettagli.

Se il server decide di convertire (normalizzare) il nome della casella di posta, dovrebbe (dovrebbe) restituire una LIST non taggata con l'attributo "\NonExistent" e l'elemento di dati esteso OLDNAME, con il valore OLDNAME che è il nome della casella di posta fornito e il parametro name che è il nome della casella di posta normalizzato. (Vedere la Sezione 6.3.9.7 per maggiori dettagli.)

Le caselle di posta eliminate in una sessione IMAP possono (possono) essere annunciate ad altre sessioni IMAP utilizzando una risposta LIST non richiesta, contenente l'attributo "\NonExistent".

Esempio:

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

Esempio:

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