[Old thread. I'm writing a read-only, anonymous-only server for publishing list archives, etc.]
For the SELECT command, what should a server do for OK [UNSEEN n] when there are no unseen messages? Omit that part of the response? Right now, my greeting looks like "* OK [READ-ONLY] ...". How should it look exactly, if I wanted to include CAPABILITY information at that point? Would that require omitting [READ-ONLY]? In that case, would it be better to keep [READ-ONLY] instead, since CAPABILITY informatino is still available through that command? ATM, my CAPABILITY string says "IMAP4rev1 AUTH=ANONYMOUS AUTH=PLAIN". (For AUTHENTICATE PLAIN and LOGIN, any username and password are accepted.) I do not support STARTTLS right now. I know this violates a MUST, but password privacy is not much of an issue for an anonymous-only server. In practice, will it cause interoperability problems to reject STARTTLS? I wrote: > What about \Recent and \Seen - how should they be set initially, and > should they be automatically updated during the session? Still curious about this. My server will store no permanent per-client data, so PERMANENTFLAGS will be empty. This will let clients know that they should, if they can, store flags locally; they can, if they care, use STORE at the beginning of every session and FETCH (FLAGS) at the end to synchronize the flags. If a client does that, then it won't matter how I set \Seen and \Recent initially. But for other clients, what would be most useful? ATM, I'm thinking I would initially set \Seen and not \Recent for every message when SELECTing a mailbox, and then for any new messages that appear during the session, initially set \Recent and not \Seen. Does that sound ok? paul
