I'm doing some beta testing of Outlook 2007 B2TR and comparing it to
Thunderbird 1.5.0.7. I've noticed that Outlook drops its connection to
port 143 after a while and Thunderbird always stays connected to 143
(horray). I submitted a bug report to MS on the overall behavior, but
after digging deeper I may have just configured Outlook in an
apples-to-oranges way compared to Thunderbird. I would like a little
help in understanding what goes on under the hood with Thunderbird.
First I'll explain what I did in Outlook. My server supports IDLE so I
disabled automatic send/receive in every x minutes in Outlook and
browsed to my Inbox on my IMAP server. After a few minutes the
connection on port 143 goes away and no new messages arrive.
I did some captures in Ethereal and I see lines such as Request: IDLE,
Response + entering idle mode, Request: DONE, [TCP Retransmission]
Request: DONE,(repeats 4 times) then the connection stops.
Then I decided to look at Thunderbird in Ethereal to see why it keeps
the connection up while Outlook doesn't.I see several IDLE and NOOP
requests and responses. Then I see the same thing as in Outlook,
Request: DONE, [TCP Retransmission] Request: DONE (Repeats 4 times).
Then I see a TCP SYN,ACK and an IMAP capability request and IMAP
Response: * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDERN NAMESPACE
THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=CRAM-MD5
ACL ACL2-UNION STARTTLS] IMAP ready.\r\n Next I see my userID and
password being sent.
For some reason Thunderbird noticed that the connection was gone and
reauthenticated. Is this what the "Check for Mail Every X Minutes"
setting does? And of that option is checked is it the equivalent of
pressing the "Get Mail" button on the tool bar which will check your
mail and of course log you in if your session has timed out? In effect
is Thunderbird doing a scheduled send/receive like Outlook would if that
option is checked?
Is this expected behavior? I've looked at quite a few university
websites that give instruction on how to setup Thunderbird for their
students and some explicitly state to turn off automatic checking.
Shouldn't Thunderbird send IDLE and NOOP messages continuously?
I've heavily snipped your post, because I'm not familiar with how
IMAP works under the hood, and only want to point out a detail
that you don't refer, but which should be taken into account in
your tests. Under Tools | Account Settings | <your IMAP account> |
Server Settings | Advanced, there's a setting to 'Use IDLE command
if the server supports it'. With that setting checked, Thunderbird
warns me of new messages as soon as they arrive at the server.
This mechanism appears to work like a sort of server callback:
with it, you do not need to use 'Check for new messages every X
minutes'. However, you do need to use 'Check for new messages at
startup', so that Thunderbird may establish a connection to the
server and then stand idle. Therefore, it's advisable to restart
Thunderbird after changing the 'Use IDLE' setting.
--Andrew DeFaria
That happens to me, but only when 'Check for new messages at
startup' is not checked. I suppose it's because Thunderbird needs
to take the initiative of connecting to the server at least once,
in order to enter the 'idle' mode...