I encountered this problem with debian gnu/linux, apache, postfix, courier-imap-ssl.
I found that if I added a new user, the user cannot login - you get a single-line error message:
Fatal error: Maximum execution time of 30 seconds exceeded in /usr/share/squirrelmail/functions/imap_general.php on line 86
To fix it, send an email to the user in question. I suspect this is related to using postfix Maildir and courier-imap-ssl (and, in fact, may simply be a courier-imap bug).
Steven J. Owens
I encountered a similar error on a Debian GNU/Linux (2.2.19) setup running Apache 1.3.26, Exim 3.35 and Courier-IMAP.
My fix (and situation), however, was somewhat different.
I was able to send email while logged in to the Squirrelmail web interface and said email would always go to the intended recipient(s), but I would, after 30 seconds, get the error message that Steven mentions above. Occasionally it would reference line 109, 111, etc.
The problem was a file ownership issue. While tinkering with Courier-IMAP I had manually created some folders from the Linux box's command line (as root). One of them was the Sent folder. The files were created as root and thus I had created a file ownership problem. chowning to the correct user/group fixed the problem.
I'm had a similar problem, I'm running this on debian and apache-ssl. The hardware is a smallish Cyrix MII300. When a user with a huge amount of mail logs in it would give the timeout error above. This is a set limit by php. Check /etc/php/apache/php.ini. You can set memory limits and timeouts. Change it. and restart apache. This fixed my problem on my little box.
Two of our users had a similar problem displaying their mailbox.
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/html/mail/functions/imap_general.php on line 4xx
It seems as if squirrelmail has problems parsing a malformated address. The workaround I use is as follows
in the function parseAddress (somewhere around line 435) the length of the address to parse is computed using '$j = strlen($address);' after that I inserted 'if ($j>1000) return "";'. Then all worked fine again.
I got the same problem as above. But the problem turned out to be different. I had done chmod +t $HOME and forgot to do -t. Changing it back fixed it for me.
Same problem as above. Malformed email addresses caused parseAddress to go into a loop. In my cause, I changed the line:
$addr_end = strpos($address,'>',$addr_start);
$addr_end = (strpos($address,'>',$addr_start)!==false)?strpos($address,'>',$addr_start):strlen($address);
The issue I had was missing '>'. I'm sure this is not the optimum fix as there may be other issues that would cause parseAddress to fail. but this one fixed mine.
THIS IS AA COURIER-IMAP BUG
we had the same problems. We even had problems with old users who we had converted from mbox to Maildir. The solution :
Send a message (like a welcome message). What is happening is the subscribed folders do not have a new, tmp, and cur folder. This causes Courier-Imap to fail, because it needs those folders to work. We found that, when those were created, we rarely got time outs unless the mail box was large.