Three great little Squirrelmail plugins and how to install them

Marco Fioretti lists his three favorite Squirrelmail plugins fore both convenience and security and tells you how to install them.

Email remains one of the most common and useful applications of the Internet. Being able to read and write email even when your only access to the Net is somebody else's Web browser is a must. This said, does it still make sense to run, in the age of Gmail and all the other big free email providers, your own email server and Webmail interface? For me, the answer is certainly yes at many levels, of which the most important is not wishing to risk data and contacts being lost if Google, for whatever reason, freezes my account.

That's why I run my own email server and Squirrelmail, a.k.a. "webmail for nuts." Sure, compared to Gmail it's very spartan-looking and more limited. However, Squirrelmail is quite simple to install and works without problems even on very old browsers (in most cases without even needing JavaScript) and on slow Internet connections. Since its default configuration doesn't need any database, Squirrelmail is also compatible with very cheap hosting accounts, if that's all you have. I'm OK with Squirrelmail because, with the smallest maintenance effort on my side, it provides all that is really needed to handle email via the Web out of the box. Almost all, that is. There are several plugins that extend Squirrelmail's functionality. Today I'll explain how to install them and then present the three that I personally consider the most useful.

How to install Squirrelmail plugins

Unless you feel like editing configuration files by hand, the general procedure to install such software is command-line based (you need to run a Perl script), but it's very simple.

No matter what you need, the first Squirrelmail plugin to install these days is the one called Compatibility, because it's the one that "allows any other plugin access to the functions and special variables needed to make it backward (and forward) compatible with most versions of Squirrelmail in wide use".

Once you have downloaded and unpacked the Compatibility code in the plugins subfolder, go inside its directory ("compatibility") and run this command, replacing X.X.X with the number of the Squirrelmail version you're actually using:

patch -p0 < patches/compatibility_patch-X.X.X.diff

The reason is that this is a meta-plugin that doesn't really need to be "installed"; it has to be there to provide some PHP functions and modify the rest of the source code to use them.

Once you have taken care of compatibility in this way, find the plugin you want in the official directory, download it in the plugins subfolder of your Squirrelmail installation, uncompress and expand it:

  gunzip [plugin-name].tar.gz
  tar xf   [plugin-name].tar.gz

Unless the files in the plugin "docs" directory say otherwise (check them!) the next steps in almost all cases are the following:

  1. Go inside the plugin folder.
  2. If it exists, copy the config_example.php file inside config.php and modify its settings (for what my own experience is worth, you'll be fine with the defaults in most cases).
  3. Go to the config subfolder in the Squirrelmail installation root and launch the script you'll find there (i.e., type at the prompt cd ../../config/ ; ./
  4. Then type "8" to enter the Plugins submenu, type the number of the plugin you want to activate as shown in that submenu, type "S" and press Enter to save the configuration changes, and then type "Q" to quit the script.

Now that installation is out of the way, let me introduce my preferred plugins.

Add address

SquirrelMail supports multiple address book backends. The simplest solution, which is the one I use and is adequate for single users or small groups, is to store addresses in plain text files. However, Squirrelmail may also use relational databases or LDAP.

Whatever format it uses, no email client is complete without an easy way to add entries to its address book. I installed for this purpose the Add Address plugin. It installs with the standard procedure above and, once it's there, it provides these extra functions:

  • add addresses from headers and (optionally) body of the current received or outgoing message to the address book
  • presents (see figure) a list of the addresses found, to edit or comment them before they are actually added
  • (optionally) verifies the DNS records of the corresponding domains

Virtual keyboard

A big problem of using email from unknown computers is security. As far as I am concerned, the first real problem here is not somebody reading my email as much as somebody grabbing my password with a keylogger when I log in.

The Squirrelmail Virtual Keyboard Plugin takes care of this problem. Once it's installed, it will add to the Squirrelmail login page a link that opens a keyboard window, in which you can click your password instead of typing it. Cool, huh? The only trick here is that the most up to date (i.e. safe) version of this plugin is not on its home page yet, but posted to a forum. What you see in the picture is the default Virtual Keyboard layout. If you don't like it, no problem! You can set different windows and key sizes, keyboard layouts and other parameters in the config.php file.


My third favourite plugin doesn't produce anything visible, because it's one of those things that you install... hoping you'll never need them! Besides security, the other real problem of doing email from some remote location is that the connection (or the power supply!) may not be reliable enough. Do you want to be sure that that carefully crafted reply will not disappear in cyberspace because somebody pulled the plug, the connection vanished or, more embarassingly, you yourself hit the wrong button? Then do yourself a favour and install the Quicksave plugin. It automatically saves messages (as long as JavaScript and cookies are enabled!) while you compose them. Then, when something bad happens, you'll be asked whether you want to resume that interrupted message or not the next time you login.