I don’t like suites. I avoid using one large application
that uses smaller applications to take care of business, or large applications
that do it all. I’m also not a fan of groupware. However, I am a fan of small,
reliable applications, which is why I often search for solid applications
written to handle one job at a time.

E-mail clients are often loaded down with too many features.
Rather than one big groupware package like Outlook or Evolution, sometimes a
simple e-mail client is all you need. I’m going to hold three Linux e-mail-only
clients up to today’s standards and see how they fare. The e-mail clients we’ll
look at include Balsa, KMail, and Sylpheed.


When I finally came into my own with Linux, I discovered a
beauty of a simple e-mail client: Balsa. At the time, this client freed me from
relying on text-only e-mail.

The Balsa application helped me learn that Linux could hold
its own in the PC realm. Even 10 years ago when it was still in beta, this
application was solid, reliable, and user-friendly. It didn’t have extensions,
spell check, or junk mail. Balsa simply read, replied to, deleted, and saved
your e-mail. 

Balsa was the first GUI tool that I used in Linux whose sole
purpose was to process e-mail. It wasn’t part of the quickly outmoded Mozilla; it
actually integrated with my desktop in both look and feel, which was important.
I’ll always remember how different Mozilla looked when it fired up; at the
time, I was trying desperately to make my Linux
desktop to not look like the
old-school UNIX-like desktop, and Balsa gave me that ability.

Today, Balsa is an e-mail client for the GNOME desktop. At
one time, the developers at GNOME were going to create an office suite, and
Balsa was going to be the e-mail application for that suite. Balsa is still
stand-alone, however, and offers the following features:

  • Local mailbox format
    support (mbox, maildir,
    and mh)
  • Allows nested mailboxes
  • POP3 and IMAP support
  • Printing support
  • Spell check
  • Multi-threaded e-mail
  • MIME support
  • SMTP or local MTA
  • GNOME-integrated address
  • Multiple character sets
    for composing and reading messages
  • File attachments
  • GPG/OpenPGP
    signing and encryption

Installing Balsa is simple. If you are using an rpm-based distribution, you can run yum
install balsa
. If you are running an apt-based
distribution, you can run apt-get install balsa. The installation will
fetch the requirements — at minimum, it will install libESMTP
and GMime — and do its thing.

The first time you run Balsa, you’ll need to set up your
account. The first screen is a simple Welcome screen. The next screen is where
the real action occurs. Figure A illustrates the information needed to
setup your e-mail account with Balsa.

Figure A

At this point the only incoming mail server
types are POP3 and IMAP.

The next screen, Figure B, allows you to fine-tune your Mail Files directories.

Figure B

The default Balsa directories should work
just fine in a stand-alone installation.

The final screen asks if you want to use Balsa as your
default e-mail client. By selecting Yes, you’ll
configure Balsa to be used when you click mailto:
links within a Web site or document.

Once Balsa is configured, you’ll see the default Balsa
window, which reveals the simplistic beauty of this e-mail client. This window
is shown in Figure C.

Figure C

Balsa is a bare-bones basic e-mail client,
but it does its job well.

During the initial setup, there was a place to name the incoming
mail server; this isn’t actually a name for the server, but the actual address.
No fear, though: You can go into the Settings menu and select Preferences to
take care of this. Select Mail Options to show the remote mailbox settings. Figure
shows the three strange accounts that Balsa creates.

Figure D

Delete two of these accounts and modify the
third for your incoming mail server settings.

Balsa’s address book

Balsa behaves much like your standard e-mail client. One of
the few differences is getting an address book up and running. To get started,
select the Preferences entry from the Settings menu and then select Address

Let’s add an LDIF-type address book. From wherever the
source, you’ll have to export your address book as a LDIF list. Once you have
that, back in Balsa, press the Add button and select LDIF from the list. A new
window will appear, which is where you’ll search for
your exported address book. Find that address book, name it, and press Add. Your
addresses are now available in Balsa.

Balsa handles junk mail filtering through procmail, an outstanding tool for the filtering of e-mail. Procmail is far too complicated to tag onto this section of
this article, however. Outside of handling junk mail, Balsa is a standard
e-mail client. The learning curve is nil.


KMail is part of the Kontact suite
of tools, but can be run as a stand-alone client. KMail is installed with a
standard KDE installation, but, like many KDE applications, does not depend on
KDE to be up and running. KMail is a bit more complex (read: Feature Rich) than
Balsa. KMail includes the following features:

  • Maildir
  • Address book
  • Older message expiration
  • Auto-encryption using OpenPGP
  • POP3, IMAP support
  • SSL/TLS support
  • Pipelining for POP3
  • On-demand downloading
  • SMTP authentication
  • SMTP over SSL/TLS
  • DIGEST-MD5 authentication
  • Nested folders
  • Mail filters and local
  • Mailing list aware
  • External mail client
  • Search
  • HTML mail support
  • Spelling check
  • Threaded viewing
  • Multiple identities
  • Color quoting
  • Background
  • KDE integration
  • POPUP address completion
  • Mail bounce (anti-spam)
  • UTF-7 support
  • PGP/MIME support
  • S/MIME support
  • Custom icons and dates

As you can see, the feature list for KMail is much longer than
for Balsa.

Setting up an e-mail account is almost self-explanatory with
KMail. Simply go to the Settings menu and select Configure KMail. From the new
window shown in Figure F, press the Accounts button and then press Add.

Figure F

The KMail account setup is without tricks or

One of the most interesting features of KMail is the
Certificate Manager Kleopatra, a KDE tool used for
managing X.509 certificates in the GpgSM keybox and for retrieving certificates from LDAP servers.
This tool is more of a power-user tool because it allows you to manage
encryption keys used in OpenPGP signatures. You can
even generate new key pairs from within Kleopatra.

Another nice feature in KMail is the ability to set
expiration dates for folders or mail. Suppose you have a particular folder that
you want emptied every thirty days; to do this, right-click on that folder and
select Expire. A new window will open — shown in Figure G — where
you’ll configure this action.

Figure G

You can configure KMail to expire either read
or unread e-mail at different times.

Once you have decided which types of e-mail will expire, you
can set up their configuration.

KMail also includes both an anti-junk and anti-spam filter
wizard. The anti-spam wizard configures SpamAssassin, and the anti-virus wizard
configures ClamAV. Both tools are quickly becoming standard in Linux; both
wizards make setup easy. To get these tools, simply go to the Tools menu and
select which wizard you want to start.

Outside of these tools, KMail is exactly what you would
expect from a modern e-mail client.


Sylpheed is another stand-alone e-mail client that contains
all the features you’d expect in an e-mail client:

  • Includes an outstanding
  • Handles Junk filtering
  • Supports multiple protocols
  • Internationalization
  • Filters and searches

Installing Sylpheed with an rpm-based distribution is as simple as issuing the command yum install sylpheed. Once installed, issue the command sylpheed.
You’ll have to configure your first account before using the client.
Configuring an account is fairly straightforward: Figure H illustrates
the necessary items.

Figure H

As you can see, there are a number of more
advanced tabs you can configure for this client.

Once set up, Sylpheed behaves exactly as you would expect.
One of the nicer tools available is the filtering tool. This tool can be invoked
two ways. If you’re reading an e-mail, you can select Create Filter Rule from
the Tools menu and choose from the following:

  • Automatically
  • By: From
  • By: To
  • By: Subject

You can also create rules by starting up the Filter Settings
from the Configuration menu. In the window shown in Figure I, you can
add, edit, or delete rules.

Figure I

You can move rules up or down a list to
change their priority.

There is one other feature unique to Sylpheed that bears a
bit of attention. The Actions tool — invoked from the Configuration menu —
allows you to configure external commands to process message files. Suppose you
want to view a selected message in an external viewer (i.e., gedit.) To do
this, fire up the tool and enter the following:

  • Menu Name: Gedit
  • Command Line: gedit %p&

Press the Add button and your new action will appear in the
Registered Actions window. You can see this in Figure J.

Figure J

To execute your action, go to the Actions
menu (from the Tools menu) and select the Gedit

This tool can become very powerful if used correctly. Like
KMail and Balsa, Sylpheed is an e-mail client that meets today’s demands, but
adds a bit of extra oomph in a way only a Linux tool can.

Final thoughts

I have run the gamut of e-mail clients over the years, and can
therefore safely say that all three of the above clients will satisfy most of
your needs. The biggest downfall for two of these clients — Balsa and Sylpheed
— would be their inability to successfully view HTML mail, but each make up
for this by either having developed plug-ins for external viewing of HTML mail,
as in the case of Sylpheed, or having enough outstanding features to render
this a non-issue.

Of course, for some, the ability to view HTML mail is
crucial; for those folks, KMail is the client to use, since it is able to
render HTML mail. Outside of HTML mail, each of these clients does an
outstanding job. Any Linux user would be remiss to not give at least one of
these clients a chance.

Subscribe to the Developer Insider Newsletter

From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays

Subscribe to the Developer Insider Newsletter

From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays