I've noticed when I select a folder of messages (Thunderbird) and mark them all as read (or unread) it produces the following IMAP transcript:

Source    Destination    Info
c.c.c.c    s.s.s.s    Request: DONE
s.s.s.s    c.c.c.c    Response: 20 OK Idle completed.
c.c.c.c    s.s.s.s    Request: 21 uid store 1:20 -Flags (\Seen)
s.s.s.s c.c.c.c Response: * 1 FETCH (UID 1 FLAGS (\Recent NonJunk)) c.c.c.c s.s.s.s Request: 22 UID fetch 2 (UID RFC822.SIZE BODY.PEEK[]) s.s.s.s c.c.c.c Response: * 2 FETCH (UID 2 RFC822.SIZE 1339 BODY[] {1339}
..

Looks a bit stupid. But I'd guess it's related to Thunderbird being configured to download mail when reading it and it treats setting \Seen the same as reading it. Just a guess though.
It becomes a bit of a problem when done in a folder of 40,000 messages - locks up the program for ages and hammers the server a bit too.

Is this reasonable? I thought it would be possible to just send a list of message UIDs and say mark these as /seen /unseen etc.

Sure, it would be possible. Also if Thunderbird really wants to fetch these messages' bodies, it could have done it using a single command instead of 20 separate ones..

Perhaps it does it one by one incase there are a lot of messages.... but it could chunk them at least.

Timo - thanks as always for your help with this, particularly as it is slightly OT. Ever thought about writing your own mail client? =) Perhaps LightningDove! The more I use Thunderbird the more I find it totally insane. Still better than going back to Outlook (thought not tried 2007 yet).

Dan

Reply via email to