On Wed, 1 Dec 2004, Mark Crispin wrote:

On Wed, 1 Dec 2004, Tomas Pospisek's Mailing Lists wrote:
... but - are you saying that I don't even need to change into HALFOPEN mode in order to be able to append messages to any kind of mailbox without the "Status: O" flag being set? That I just have to keep the stream in READONLY mode?

Stream readonly status refers to operations on the opened mailbox (the selected mailbox in IMAP terms); it affects such operations as setting/clearing flags and expunging. It does not in any way affect operations that work on a mailbox by name, such as append.


So I think that the answer to your question (if I understand it correctly) is "yes".

Hmm - this is starting to be interesting for me. So this means that I could switch from mailbox to mailbox by opening them READONLY and that this would not issue internally an open/close on the stream and thus not require a re-authentication?


So in the general case, that is for local and remote mailboxes of a random format supported by c-client I can:

        foreach mailbox in mailboxes_at_a_location {
          stream = open(mailbox, READONLY);     # first step (read)
          read_mails(stream)                    #

          stream = open(mailbox, READWRITE);    # second step (expunge)
          flag_removed_mails(stream);           #
          expunge(stream);                      #

          stream = open(mailbox, READONLY);     # third step
          append(new_mails, mailbox-name);      #
        }


Q1: If I ommit the second step, then I can guarantee that all email stati are maintained, especially "Status: O" will not be set by c-client or the IMAP server no matter what format the mailbox is in. Correct?

Q2: It would be interesting if there exists a way to delete emails in a
    mailbox (that is the second step) without affecting the "Status: "
    respectively the flags of any other email in that mailbox or any other
    mailbox (this again for the general case).

Q3: Or if there is a way to remove "Status: O" after the fact
    (afterwards). As I understand though this is not possible for the
    general case. Correct?

    If any of the two (preferable the later method - removing "Status: O")
    could be achieved, then mailsync could be implemented in a "perfect"
    way.

Thanks,
*t

--
-----------------------------------------------------------
  Tomas Pospisek
  http://sourcepole.com -  Linux & Open Source Solutions
-----------------------------------------------------------

Reply via email to