Summary | browser timeout during long fetchmail sessions |
Queue | IMP |
Queue Version | HEAD |
Type | Enhancement |
State | Rejected |
Priority | 2. Medium |
Owners | |
Requester | lonely_bludger (at) hotmail (dot) com |
Created | 12/16/2005 (7112 days ago) |
Due | |
Updated | 07/29/2009 (5791 days ago) |
Assigned | |
Resolved | 07/29/2009 (5791 days ago) |
Milestone | |
Patch | No |
State ⇒ Rejected
Milestone ⇒
Version ⇒ HEAD
text before the header is sent on that particular screen..
Priority ⇒ 2. Medium
Type ⇒ Enhancement
Summary ⇒ browser timeout during long fetchmail sessions
Queue ⇒ IMP
State ⇒ New
When I receive large attachments (2Mb+) at my account, fetchmail a lot
of times stops before the mail-fetch is finished.
Actually, I believe it is the browser that stops. The reason is when
you click on the "Fetch Mail" icon in the popup, the web server doesnt
feed anything back to the browser at all until everything has finished
fetching.
The browser simply times out and closes the connection because it
doesnt receive any response. This timeout have tested to vary from
20seconds (IE) to up to 45seconds (FireFox).
This problem is described here with a sample solution: (look under
Sjoerd van der Hoorn - 21 June) - I havent verified the sample solution.
http://fi.php.net/manual/en/function.set-time-limit.php
(I have made sure my PHP max-execution-timeout is 300 and checked with
my host that APACHE's timeout is also 300seconds)
I have done some modifications but they are not very neat at all, the
best way is to have something like a "progress bar" or something that
spits out something every 5-10seconds.
My mods are cruide and doesnt fully work but kind of helps it a
little: I fetch from two accounts so have so far inserted a line in
Fetchmail.php (under imp/lib) approx line 299 (under the "foreach"
loop within function fetchmail() ):
echo "<font color=white>Fetching mail for account: ".$val."</font><br>";
flush();
and at the same time swapped the output header lines in fetchmail.php
(under imp) so the header is spitted out to the browser before
fetchmail process begins.
Suggestion:
1. progress bar, or just "full stop", or
2. just flush out blank-spaces or something which are not displayed on
the webpage but will keep the connection alive, or
3. anything else?
If you can display how many messages fetchmail is fetching and the
total size right at the start that would be good too (??)
Thanks :)