October 27th, 2006
I have a very old-school mail setup. I have several mail accounts with various providers, all of which still get mail and which I can’t merge into one account very easily. I used to use Evolution on my desktop to access all these accounts directly. If I wanted to read mail on my laptop I’d hope that running Evo on the desktop over SSH would work. When I wanted to read mail from anywhere else I’d have to log in to each provider’s own webmail system, which takes ages, is horrible to use, and doesn’t update the read / unread / replied-to status on Evo at home.
So I changed it all. Now I basically have my own mail server. It runs on my desktop, which isn’t ideal, but I plan to shift it to a virtual machine or a real dedicated server sometime soon. Anyway, it runs fetchmail to pull in all the email from the various accounts. All the mail is then piped through procmail, which filters it for spam with spamassassin and then sorts it into various maildir-format folders under ~/Maildir. courier-imap then serves out the mail from these folders. I can then use any IMAP-compliant mail reader on any machine on my local network to read the mail; whatever client I use to read it with, the message status stays perfectly in sync, because all that is handled by the IMAP server, not the mail client.
The only issue then is external access. Sometimes I allow the server to be accessed externally (I stop restricting access to only 192.168.1.* addresses, and forward the imap-ssl port through my firewall). Then I can use an IMAP client on any external machine just as I can on any internal machine. Sometimes I get a bit worried about the security of such a setup, though, particularly as it runs on my desktop. Also, sometimes I’m using someone else’s machine and don’t want to start installing and configuring a dedicated email client, and sometimes I’m in a situation where I just flat out can’t do that. So I’ve also been running squirrelmail, which is basically a webmail server. It runs on the same machine as the mailserver, connects to the IMAP server (well actually I have it going via imapproxy, but that’s just for reasons of speed) and then provides webmail access via Apache (yes, that does mean I have a web server running on my desktop too; security enthusiasts in the audience, feel free to drop dead of a heart attack at this point).
This works fine, except for three problems. It’s a bit slow. The interface isn’t very good. And it’s ugly as sin. Take a look at the screenshot. Would you want to be caught dead using that in public instead of gmail? Nope, me either.
Fortunately I stumbled across something nicer yesterday. A Club forum regular mentioned something called Roundcube, so I went to investigate. It’s a webmail server just like squirrelmail…only it’s implemented in a much more modern way, and consequently looks a hell of a lot prettier and has a much nicer interface (it feels very like a ‘proper’ mail client, rather than a web page). See?
Only problem is that the stuff roundcube uses is so new it won’t work properly on some older browsers (especially IE <6.0, and to a lesser extent, even IE 6.0). So I still keep Squirrelmail installed in case I happen to be using a machine crippled with an old Microsoft browser. But in all other cases, Roundcube rules the roost now. It’ll be even nicer when it has GPG support and a preview pane, but it’s already pretty killer.