September 15, 2005

Review: Sylpheed 2.0 messaging client pushes the envelope

Author: Joe 'Zonker' Brockmeier

Since I started using email in 1995, I've been on a (seemingly) never-ending quest for the perfect email client. I've used text-based, Web-based, and GUI email clients, on Linux, Windows, and Mac OS, and have yet to find one mail user agent (MUA) that I'd consider "perfect." There are some really, really good MUAs -- such as Mutt and Mozilla Thunderbird -- but I haven't found the perfect mailer just yet. Sylpheed 2.0, however, is getting close.

Sylpheed is a light-weight MUA that uses the GIMP Toolkit (GTK+), and offers excellent mail filtering features, junk mail control and -- in fine *nix fashion -- cooperation with external commands. Sylpheed is licensed under the GNU General Public License (GPL) and runs on Unix-type OSes, such as Linux, BSD, and Mac OS X. A Windows port is in progress.

Mail format

I tested Sylpheed 2.0.0 and 2.0.1 (which came out just a few days ago) on an AMD Athlon64 with 2GB of RAM, running Ubuntu 5.04 Hoary Hedgehog. Since this is a relatively new release, with no packages for Ubuntu available from the Sylpheed site and the latest version not yet in the Ubuntu repository, I compiled Sylpheed from source. With the exception of having to download a few dev packages to use SSL and GnuPG with Sylpheed, compiling and installing Sylpheed was completely hassle-free.

A lot of mailers store messages in an mbox format. Sylpheed stores them in the Mail Handler (MH) format. The difference here is that, in mbox format, each folder is a file that contains multiple messages. Messages stored in MH format are stored one message per file, and organized by directory. Most users won't care which format the messages are stored in. It makes a difference if you're using Procmail in conjunction with Sylpheed, but it's simple to tell Procmail that it's filtering into MH mail folders.

If you're switching to Sylpheed from another mailer and want to preserve your old email, Sylpheed provides an import tool that converts messages stored in mbox format to MH, and a tool to export Sylpheed's mail to mbox format.

Interface

By default, Sylpheed's interface is the standard three-pane display, with mail folders displayed on the left side, a pane showing a list of messages in the current folder, and a "preview" pane displaying the selected message. You can turn off the preview pane if you need more real estate to list messages in the current folder.

You can also separate the folder view, message view, and mail listing so that you work with three separate windows. This might seem a bit odd if you're used to other mailers, but it can actually be fairly handy once you get used to it.

Overall, the Sylpheed interface is clean and easy to use.

The Sylpheed interface - click to enlarge

Keyboard navigation

Though Sylpheed is a GUI mailer, it's easy to use Sylpheed's keyboard navigation features to read and reply to mail without ever needing to touch the mouse. For someone who types much faster than he can point and click, this is a very valuable feature. The converse is true as well, of course -- Sylpheed is a GUI mailer, and users who don't take to keyboard shortcuts will be able to mouse around in Sylpheed to their heart's content.

Sylpheed comes with support for Mutt key bindings, Mew/Wanderlust key bindings, and the old Sylpheed key bindings -- as well as a default set specific to Sylpheed 2.0. There does seem to be a glitch, however, in modifying key bindings. According to the Key Bindings dialog in Sylpheed's preferences, a user should be able to change the shortcut for an action by "pressing any key(s) when placing the mouse pointer on the option." I tried this, but never had any success in changing the key bindings.

Junk mail and mail filtering

Rather than reinventing the wheel, Sylpheed uses the separate Bogofilter application to determine whether email is junk or not. By default, junk mail filtering is not enabled in Sylpheed. You can turn it on under the Junk Mail tab in Common Preferences.

Right off the bat, Bogofilter tagged a number of legitimate emails as spam. Bogofilter needs to be trained to tell ham from spam, however, so I suspect its discrimination will improve over time.

In addition to categorizing mail as spam, I need to filter the messages I get from the large number of lists I subscribe to. I want to move that mail into folders for reading during my off-hours, while retaining other mail for my immediate attention. Sylpheed makes it easy to set up filters, either from messages you've already received or from scratch. Messages that match the filter rules can be moved, copied, denied delivery, and so forth. You can also trigger an external command when a message matching a filter is received, so if you want to blast an MP3 using XMMS when mail arrives from your boss, it's not difficult to set up using Sylpheed.

One thing that is missing from the filter setup, though, is the ability to redirect a message upon receipt. Sylpheed does allow messages to be redirected (as opposed to simply being forwarded), but it's not an option in the Filter Rule setup. You could do this through an external command (about which more in a moment), but it'd be good if it were possible using Sylpheed's redirect feature.

External commands

Sylpheed allows users to redirect mail to an external command or trigger an external command when a message is received. It's also possible to set up actions that will operate on a message's body or selected text. Once you create an action in Sylpheed, it becomes a menu item under the Tools menu. I set up an action that copied selected text in a message to a text file in my home directory, and another that would forward a message or selected text to another email account.

Sylpheed also allows you to use an external editor, which is probably my favorite feature. Over the years, I've grown used to doing all of my writing in Vim, and it's a little awkward composing longer emails in Thunderbird or another mailer that doesn't support Vim key bindings. With Sylpheed, just set the external editor to your favorite text editor and you'll never have to hassle with composing messages in an unfamiliar editing environment.

Miscellaneous features

A few other features in Sylpheed are worth pointing out. First of all, Sylpheed has a log window that allows users to watch the interaction between Sylpheed and the mail servers it retrieves mail from. This is particularly handy when you're having trouble sending or receiving mail. It's also a great feature for anyone who works in IT and might need to troubleshoot email for other users. Along those lines, Sylpheed also makes it easy to check the full headers of an email, or to view the full source of an email.

Sylpheed also supports email templates, which are great for things like daily reports or other repetitive communications that don't change a great deal. Just create a template email with the repetitive elements and use your time to do more productive things.

Unfortunately, the template feature doesn't play well with the external editor feature -- if you want to use a template, you have to start a message, exit the external editor, select Tools and then Template, and then tell Sylpheed to either replace the message text or to insert the message text.

What Sylpheed doesn't offer

There are a few things that Sylpheed doesn't offer, and they're worth mentioning too. The first "missing" feature in Sylpheed is its lack of support for composing HTML-ized email. In my opinion, this is a feature rather than a deficiency on the part of Sylpheed. I'd much rather send, and receive, mail in plain text that can be read by any mailer. However, if you prefer HTML-ized email, Sylpheed is clearly not the MUA for you. It's also worth noting that Sylpheed, by default, displays incoming HTML-ized email as plain text.

Sylpheed also doesn't stray far from email. By that I mean that Sylpheed doesn't have some of the features that you'd find in a mailer like Mozilla Thunderbird or Evolution. It doesn't double as an RSS-reader, and it doesn't come with a calendar or to-do list -- though Sylpheed does have a very good address book, and it supports NNTP, for those users who still read Usenet newsgroups. Sylpheed isn't a "groupware" client, it's just a very good MUA -- which is fine by me.

Where Sylpheed could improve

I have only a few complaints with Sylpheed. The first is not with Sylpheed itself, but its documentation. The manual distributed with Sylpheed is fine, except that it's supposed to be current with the 0.7.3 version of Sylpheed. The Sylpheed User's Manual online is for Sylpheed 0.8.10. Obviously, several things have changed since then. Sylpheed is pretty straightforward, but I can imagine several places where users might want a little documentation -- for instance, on setting up actions.

IMAP performance also leaves something to be desired. When checking an IMAP folder with about 2,000 messages, Sylpheed was surprisingly sluggish. Some of this may be due to the speed of the IMAP server itself, since I was accessing Spamcop's IMAP server -- which is no doubt heavily taxed in the middle of the afternoon -- but other mail clients that I've used with the same server exhibited better performance. Luckily for me, my IMAP usage is mostly limited to dumping messages from my Held Mail folder on Spamcop.

IMAP performance is the only area where I found Sylpheed to be at all sluggish. When it comes to working with large numbers of messages -- moving between folders or importing from an mbox file to MH format -- Sylpheed is quite speedy. Importing 12,000 emails from an mbox file took less than 30 seconds, and moving 6,000 emails from one folder to another took just a few seconds. Downloading more than 300 emails via POP3 took a minute or so, and the limiting factor was probably download speed rather than Sylpheed.

Final analysis

For the past year or so, I've been using Mozilla Thunderbird as my primary mailer, as it offers a good balance of features, extensibility, and speed. It would take quite a bit to convince me to switch mailers for my primary email account yet again.

Still, I'm seriously considering making the switch. While Sylpheed is still not the "perfect" MUA, it is getting close. Sylpheed is a full-featured MUA without any cruft to bog it down. It's easy to use, but also has a set of features that are appealing to "power users" who spend a lot of their time working with email.

Click Here!