I’d very much like to replace SquirrelMail, and have just spent the weekend attempting to do so. I’ve tried both Horde and RoundCube, and I can’t get either of them to work reliably.
First, Horde. I compiled a custom PHP interpreter. It’s got everything Horde needs - all the PEAR libraries, the IMAP c-client library, and all. Horde runs. But it can only talk to the IMAP server about 10% of the time. Here, check these screen shots of the IMP test suite, which tests four different ways of talking to the IMAP server:
http://atuan.com/test1.png
http://atuan.com/test2.png
http://atuan.com/test3.png
In the first test, methods 1 and 2 don’t work, but 3 and 4 work fine.
In the second test, about half an hour later, with NO CHANGES from me, it reports that all four methods fail.
In the third test, about a half hour after the second test, it reports that all of the methods work except for method 2.
I’ve tried every configuration I can think of, and nothing works reliably. Sometimes I can log into Horde, but not Imp; sometimes I can’t log in at all; sometimes I can log into both, but I get weird errors saying that the IMAP server sent an “unknown response.” Here’s a typical response entry from the log:
Aug 19 23:05:58 HORDE [error] [imp] FAILED LOGIN 128.83.211.24 to mail.atuan.com:143[imap/tls/novalidate-cert] as foobar@atuan.com [on line 258 of “/home/.siani/selanit/atuan.com/horde/imp/lib/Auth/imp.php”]
(Note that I’ve replaced my email address with a fake one here.) Line 258 is part of the function that opens a channel to the IMAP server.
After struggling with Horde till I got cross-eyed, I decided to try RoundCube. Configuration was much easier; and it doesn’t work. I managed to log in and read my email, once, and then it stopped working. Most of the time it dies at log in: I’ll enter my info, submit, and then I get zero response from the server - no return data whatsoever. The RoundCube logs are full of this kind of thing:
[20-Aug-2007 01:27:51] PHP Fatal error: Maximum execution time of 120 seconds exceeded in /home/.siani/selanit/atuan.com/roundcube/program/lib/imap.inc on line 134
This too is from the function that creates a new IMAP connection.
I’ve even tried logging into the IMAP server manually via telnet, and that didn’t work either.
Yet SquirrelMail keeps working fine. I’m stumped. How can I persuade the IMAP server to play nice with Horde or Roundcube? Box of chocolates and some sweet talk? >.<