Thunderbird and Gmail

In my quest for the ultimate email, rss, and newsreader I’m giving Thunderbird 3.0b2 a try. Check out this post for a few more details. So far, decent for email, decent for news, but it’s weak for rss.
First, read these two tutorials:

Then, you ned to figure out keyboard shortcuts
If you are curious about how messages get retrieved, check out this tidbit on IMAP and the “IDLE” command from Entire message fetched when opening a IMAP message:

mail.imap.fetch_by_chunks controls whether Thunderbird tries to fetch a message body (or any other MIME body part) in chunks. mail.imap.chunk_size controls the size of the chunk. It currently defaults to 10240 bytes. If you set the chunk size too big, it defeats any attempt to fetch just the message body. One problem with enabling fetching by chunks is it breaks the optimizations built into the TCP/IP protocols, and adds extra overhead as each chunk has to be acknowledged. If tweaking the “MIME Parts On Demand” preferences doesn’t help, or if it works but you get poor performance, try disabling fetching by chunks.


Setting up my iPhone and various other clients to access my email via IMAP (Internet Message Access Protocol) I’d been reading about how Google finally supported the “IDLE” command and how this made “push” work a lot better. I finally got around to looking up some details. In a nutshell, the client keeps the TCP connection open; sends the “IDLE” command; and eventually the server responds when there’s a message.
From IMAP IDLE: The best approach for ‘push’ email:

How IDLE Works
IMAP works by the software on the mobile device (the client) issuing commands to the server. An IMAP server provides two things in response to a client command:

  1. An answer to the request.
  2. Information on any new messages.

This means that where a client is actively doing things with an IMAP server, it will > be told immediately about new messages. The client can then get summary information on the message to present to the user, and can (automatically) download the message when appropriate.
This means that an active client will always be kept up to date. The IDLE command deals with the situation where the client has no more requests to make. The server responds to the idle command when there is a new message (or messages) which indicates to the client that there are new messages.