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