Next Previous Contents

11. VM and Other Programs


11.1. BBDB

Date: June 20, 1998
Updated: April 18, 2001

BBDB is a rolodex-like database program for GNU Emacs. BBDB stands for Insidious Big Brother Database, and is not, repeat, *not* an obscure reference to the Buck Rogers TV series. (from the BBDB info file)

BBDB was written by Jamie Zawinski, and was being maintained and extended by Matt Simmons. It is now maintained by the BBDB Development Group. The latest version of BBDB can be obtained from

Follow the instructions to build BBDB, including setting the location of the VM source directory if it's not in the default load path. (See the BBDB documentation for more information). After installing BBDB, add the following forms to your startup files:

(require 'bbdb)            ; may go in .emacs or .vm
(bbdb-initialize)          ; may go in .emacs or .vm
(bbdb-insinuate-vm)        ; must go in .vm


11.2. Feedmail

Date: June 20, 1998
Updated: February 8, 1999

Feedmail is a versatile emacs-lisp package that allows you to compose mail offline and queue it for later sending. It also easily allows you to write (and keep) draft messages. Feedmail will also let you choose to send mail via an SMTP server, which is nice if there is no mail server on your local host.

A copy of feedmail comes with most versions of XEmacs, but the feedmail.el that comes with XEmacs versions older than 20.4 is a pretty old version, and lacks some useful features (such as the variable `feedmail-queue-runner-is-active', useful for conditional tests in mail-send-hook). Recent beta versions of XEmacs (at least 21.0b40 and later) have a recent copy of feedmail.el in the net-utils package.

The latest version of feedmail can be found at

To set up feedmail, follow the instructions in the comments at the head of the feedmail.el file. If you're using feedmail, you may also wish to obtain smtpmail.


11.3. Fetchmail

Date: June 20, 1998
Updated: February 8, 1999

If you want to use procmail to filter mail picked up from a POP server, or if you need to pick up mail from an IMAP server, you will need to use a stand alone POP/IMAP client. I recommend Eric Raymond's fetchmail. Fetchmail can be configured to deliver mail to a local SMTP server or directly to VM's spool file.

Read about and download fetchmail from the fetchmail home page (


11.4. Mailcrypt

Date: June 20, 1998
Updated: February 8, 1999

Mailcrypt is an Emacs Lisp package which provides a simple but powerful interface to cryptographic functions for mail and news. More information is available at the Mailcrypt home page (

To use mailcrypt with VM, add the following to your .vm file:

(require 'mailcrypt)
(add-hook 'mail-mode-hook 'mc-install-write-mode)
(add-hook 'vm-mode-hook 'mc-install-read-mode)
(add-hook 'vm-summary-mode-hook 'mc-install-read-mode)
(add-hook 'vm-virtual-mode-hook 'mc-install-read-mode)

If you can't use mailcrypt under VM due to an "invalid function error", it's because you have an old version of mailcrypt. Please see the troubleshooting section of this document.


11.5. smtpmail.el

Date: June 20, 1998

smtpmail.el is an emacs-lisp package that sends outgoing mail to an SMTP server. This is very useful when the local host doesn't run a mail server (or runs a broken one).

All versions of XEmacs ship with smtpmail; GNU Emacs versions later than 19.34 do, as well. If you don't have a copy of smtpmail, you can fetch one from the NT Emacs archive at


11.6. Supercite (supercite.el)

Date: June 20, 1998
Updated: February 8, 1999

Supercite is a package that allows for more flexible citing of included text, filling, and fancy formatted citation lines. Supercite is distributed with GNU Emacs versions 19.28 and later and all XEmacs versions, so you probably already have a copy. To use Supercite, add the following to your .vm file:

(require 'supercite)
(add-hook 'mail-yank-hooks 'sc-cite-original)

Next Previous Contents