Webmail applications that are kind to the IMAP server?

Rob Siemborski rjs3 at andrew.cmu.edu
Mon Sep 2 21:08:44 EDT 2002


On Mon, 2 Sep 2002, Dominic Ijichi wrote:

> Try this - it runs as a non-privileged user on a non-privileged port and talks
> to the imap daemon for the webmail app, holding persistence.  Works very well,
> and I've noticed a definite speed increase.  Designed for IMP, but I guess it
> should work with others?
>
> http://www.kuleuven.net/projects/imapproxy/

This is basically what we are doing at CMU, only using imtest (with the
recently added -I and -X options)and a hacked version of squirrelmail
which connects to a unix socket.  Some of the recent additions to imtest
were to facilitate this functionality.

Of course, the main reason we are doing this is to allow for the use of
Kerberos authentication and integration with the rest of our web
authentication software (since Squirrelmail uses authentication to the
IMAP server as a test of whether you can use webmail, using the proxy means
that it requires an external authentication source).  For these reasons,
this code isn't really useful outside of our environment (given the new
imtest unix socket features, it is still a pretty simple modification).

Though TCP connection rate (solved by a decent prefork value) and
authentication load (solved with an authentication proxy like imtest) is
only a small part of the problem, webmail systems really need a better way
to cache state, which is not an easy problem (and is made worse by the
fact that most of them are, essentially, disconnected clients).  Smart
caching the results of SORT, SEARCH, THREAD, etc, is also necessary (for
what its worth, webmlist does this with THREAD results, but it is an
anonymous-only client, so it gains the advantage of only having to track
each mailbox once).

Webmail is really a hard problem that I have yet to see a decent solution
to.  Forcing it into the IMAP model can also make the problem worse. :(

-Rob

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456
Research Systems Programmer * /usr/contributed Gatekeeper






More information about the Info-cyrus mailing list