[Note: personal opinions; nothing to do with Sun.  I do hardware design]

|> One of the more common requests I get as a client vendor is for users to 
|> have the ability to delete attachments on the server. Obviously that can be 
|> done via FETCH/modify in client/APPEND/EXPUNGE, but an in-place solution 
|> would be preferred.

Strongly preferred because:

*  If you do the append/expunge solution then the modified message is now
   at the end of the mailbox with no obvious way to fix things so the user
   sees it in the original location.  This seems like a big problem for me
   at least.

*  Append/expunge does not match IMAP's usual delete model with repect to
   being able to store a \Deleted flag and only have this really take
   effect on the next expunge.  With the opportunity to undo the deletion
   before that.  It would be better if deleting attachments would work
   the same way, not least because:

*  if I have a message with three attachments and want to delete 2 of
   them, I would prefer not to do two appends in sequence.

I do agree with the outline of the solution you propose though, i.e.
go ahead and nuke the data (with a "removed' or "deleted" header) but
claim in the bodystructure that it's still there.  And then on fetches
either return "NO" for a fetch of that specific body part or fake out
blank content for partial or whole-message fetches.

And incidentally I am one of the people who definitely wants this feature.

You'd want some way to fetch an appropriate annotation (or these headers)
to allow showing the client that the attachment was not there.  Ideally
at least.

Hugh.

Reply via email to