[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Wed, 13 Mar 2002 15:05:49 -0500
On Mon, Mar 11, 2002 at 11:49:09PM +0000, Nic Ferrier wrote:
> > but what I had in mind for this is to expunge only on mailbox
> > close, and have the server fork a backround process to do this
> > so that the user can continue to deal with mail in a different
> > folder.
> The trouble with that is that it's not what the IMAP spec says should
> happen and it's not what the user expects either. The user expects
> expunge to be done when they ask for it.
Well, I was thinking about this some more too... And if you think
about it the right way, IMAP does NOT preclude doing something
like this. You'd need to implement two different types of expunge
functions though -- a physical expunge which actually removes the
deleted messages from the physical mailbox, and a *logical* expunge,
which merely marks the messages as expunged. Messages marked as
expunged would not be available to the IMAP user, but would not
actually be physically expunged from the mailbox until the server
closed the mailbox. In this way, physical expunges could be
performed by a background process.
The only real issue with this scheme is that users who had local
access to the mail spool would still see the expunged messages,
unless they were using tools which used the same API to veiw the
spool (i.e. if you used /usr/bin/less or Berkley mail, they'd still
show up in the spool).
From the perspective of the IMAP protocol though, I don't believe
this is a problem.