Balsa: An e-mail client for the rest of us

In this Daily Feature, Jack Wallen, Jr. introduces you to the Balsa e-mail client and says that you might just start enjoying e-mail on Linux again.

For the past three years or so, I used Pine religiously. I wouldn't use any other client. Why? Pine was fast, Pine was simple, Pine never crashed, and Pine worked well with procmail and fetchmail. Add it all up, and Pine is something of an inescapable entity.

Well, it seems I've finally found an e-mail client to pull me away from Pine. Balsa—created by Hector Garcia Alvarez, Ian Campbell, Bruno Pires, Jay Painter, Stuart Parmenter, David Pickens, Pawel Salek, and Peter Williams—is a GNOME-compliant e-mail client. Here’s a note from their Web site:

“It [Balsa] supports mbox, maildir, and mh local mailboxes, and IMAP4 and POP3 remote mailboxes. You can send mail via sendmail or SMTP. Optional multithreading support allows for nonintrusive retrieval and sending of mail. A finished GUI similar to that of Eudora lets you view images inline, save message parts, view headers, add attachments, move messages, print messages, and just about anything you would expect in a robust mail client.”

If you’re a typical Linux user, the robustness of the client is great. But what about those atypical Linux users or members of an IT staff looking for an e-mail client simple enough for typical end users? On both accounts, Balsa just might be what you're looking for. This particular e-mail client does indeed have the familiar feel of one of the greatest e-mail clients available (Eudora) and is simple to install, use, and manage.

Installing Balsa requires three things:
  • A working GNOME installation
  • The libPropList application
  • The Balsa binary

You can retrieve the latter two applications from the Balsa Web site, and you must install them in the order listed (libPropList followed by Balsa). Unfortunately, the libPropList application is only in tar.gz format, so you'll have to install at least one application from source.

To install libPropList, download the file libPropList-0.10.1.tar.gz into the /usr/localbin directory (you may have to be root to transfer the file to the destination directory). Then, run the following commands:
tar xvfz libPropList-0.10.1.tar.gz
./make ; make install

Each command must finish its execution before the next is run.
Once you have libPropList installed, you can remove the source file (libPropList-0.10.1.tar.gz) and move on to installing Balsa.

Fortunately, the Balsa application has both source and rpm-style formats. We'll run the installation of the source file, followed by the rpm.

Installing Balsa by source
The first step is to download balsa-0.9.3.tar.gz (from the official site) and run the command:
tar xvfz balsa-0.9.3.tar.gz

Once you've run this command, you’ll see a new directory called balsa-0.9.3. Your next step is to cd to that directory (cd balsa-0.9.3) and run the commands:
make ; make install

The last command will take some time, so either sit back and watch the code fly by or get a soda. Regardless of how you pass the time, the code will compile (barring any unforeseen GLib errors), and you’ll eventually have a Balsa installation. You can now remove the source file directory balsa-0.9-3 (and its contents) and start up your new e-mail client.

Installing with rpms
As usual, installing from the rpm file is very simple. Once you've downloaded the file, you need to su to root (because we never run Linux from root unless we are either the sys admin or crazy), cd into the directory where the Balsa rpm file is located, run the command:
rpm -ivh balsa-0.9.3-1.i386.rpm

and the installation will begin—and finish.

Once the installation is complete, you can remove the rpm file.

Running Balsa
Getting Balsa to run (when you've installed via source) may seem a bit of a deviation from the standard. Typically when you install an application from source, you can simply cd into the created directory (in this case, /usr/local/bin/balsa-0.9.3) and run the executable command (in this case, ./balsa). This time, you won’t be doing that.

To run Balsa (when installed from source), you have two options. The first, and most obvious, is to navigate through GNOME Main Menu | Internet and choose Balsa. This will open the application without the use of a console. To open from the console, however, is where the difference lies. Instead of having to run the command from the current working directory (/usr/local/bin/balsa-0.9.3),you can run the command globally (because we installed the application within /usr/local/bin).

So from any console, and from any directory that you have access to, you can run the balsa command, and the application will open.

Running Balsa when installed from rpm is pretty much the same. First, you will see the same menu entry, and then you will have the global command, balsa.
Configuring Balsa
When you first run Balsa, you must enter some user-specific information. This information is very self-explanatory (usernames, passwords, servers, accounts, signatures, etc), so you shouldn't need any help here.

There’s one trick you might consider when configuring Balsa, however. If you want to use a local mail handler (such as procmail or sendmail), you do not have to configure a remote mailbox server (so your local mail handler can do its job) under the Mail Server tab. You can then configure Balsa to use the mailboxes you've set up with the local mailbox agent.

For example, let’s say you use procmail as your local mail delivery agent. Within procmail, your default mailbox directory is established as /home/USER/mail/USER (where USER is your Linux username). You’ll configure Balsa the same way, but you won’t specify the final USER name. So, on the Mail Servers tab, you’ll enter /home/USER/mail in the Local Mail field, and then you'll create a new mailbox that has the same name as the actual mailbox under your procmail settings. Say, for example, your username is jwallen and your .procmailrc file header looks like this:

You’ll have /home/jwallen/mail as your Local Mail setting (within Balsa), and you’ll create a mailbox (in the left pane in the actual Balsa application) called jwallen. Now whenever procmail delivers mail to the jwallen mailbox, it will appear in Balsa, as shown in Figure A.

Figure A
This is a section of the Balsa mail client.

Figure A shows a cutaway of the Balsa mail client. Here, you see the left pane that contains the jwallen mailbox (among others), what I call the header window (which shows the unopened e-mail, along with the person it’s from, its subject, and the date sent), and the main window (which displays the opened e-mail).

This setup is fairly straightforward and to the point. One thing you do not see in Figure A are the various mailbox tabs. You can have all of your mailboxes open at once and simply click a tab to reveal the contents. Is it even remotely possible that e-mail could be efficient?

Other features
The Balsa e-mail client works in conjunction with GNOME's address book. Note that Balsa uses the GnomeCard.gcrd file found in the .gnome directory. When you first start Balsa, you can open the address book feature from the File menu, which will display a window with the current e-mail addresses from GnomeCard. From this menu, you can choose either Run GnomeCard or Re-Import From GnomeCard.

If you choose to run GnomeCard, you’ll want to make sure that if you modify your file, you save the file to the .gnome directory. By default, GnomeCard saves the GnomeCard.gcrd file to the user’s home directory, which Balsa won’t find.

Balsa is a complete mail client in and of itself. The only features it may be missing are the ability to view inline HTML documents and the ability to use nicknames for e-mail addresses. With Balsa, you can, however, view inline images, and the address book feature is just a couple of clicks away from an e-mail address.

In a whirlpool of Microsoft-only mail clients, it's nice to see the ongoing development of solid, feature-rich clients coming out of the open-source woodwork.

Balsa is a mail client you should consider. Since it’s the only application that has been able to drag me away from Pine, the creators of Balsa must be doing something right. So what are you waiting for? Point your browser to the Balsa site and download a copy now. You might just start enjoying e-mail on Linux again.

Jack Wallen, Jr., editor in chief of Linux content, was thrown out of the "Window" back in 1995, when he grew tired of the blue screen of death and realized that "computing does not equal rebooting." Prior to Jack's headfirst dive into the computer industry, he was a professional actor, with film, TV, and Broadway credits (anyone see “The Great Gilly Hopkins”?). Now, Jack is determined to use his skills as a communicator to spread the word—Linux. Ladies and gentlemen, the poster boy for the Linux Generation!

The authors and editors have taken care in preparation of the content contained herein, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.


Jack Wallen is an award-winning writer for TechRepublic and He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website

Editor's Picks

Free Newsletters, In your Inbox