Mailcrypt is designed for use with FSF Emacs 19.29 (and higher) or
XEmacs 19.13 (and higher). Mailcrypt absolutely requires at least FSF
Emacs 19.28 or XEmacs 19.12. With some effort, earlier versions might
be made to work, but this is not supported.
Mailcrypt is also designed for use with PGP version 2.6 or higher,
with the exception of 2.6ui (which is really just 2.3a in disguise).
It is trivial to make Mailcrypt work with earlier versions, however;
The simplest way to build and install Mailcrypt is:
1. `cd' to the Mailcrypt source directory and type `./configure' to
configure Mailcrypt for your system.
2. Look at the program names in mc-pgp.el and mc-pgp5.el to make
sure that they are correct. On my system, for example, I call
PGP 2.6.3 as "pgp2". If you call PGP 2.6.x as "pgp", then you
are probably OK.
3. Type `make' to build the byte-compiled Lisp files.
4. Type `make install' to install the Mailcrypt Lisp files and Info
If you use VM, RMAIL, MH-E, or GNUS and the respective package is not
in your default load-path, Mailcrypt may fail to byte compile
correctly. (Emacs does not load your `.emacs' file when run in batch
mode.) If this applies to you, edit Mailcrypt's `load-path.hack' file
to add the appropriate directory to the load-path during byte
In addition, PGP 5.0 support requires the file timer.el, which should
be included in FSF Emacs, but is NOT included with Xemacs. This file
is included with Mailcrypt, and will be installed if the timer library
isn't found in the load path. If you already have timer.el, but it is
in an unusual place, edit the file `load-path.hack' file accordingly.
By default, `make install' will install the package's files in
`/usr/local/info' and `/usr/local/share/emacs/site-lisp'. You can
specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PATH'.
If your installed copy of Emacs is named something other than `emacs'
or `xemacs', you will need to tell `make' where to find it so that it
can correctly byte-compile the Mailcrypt sources.
For example, to force the use of XEmacs you might do this:
or this (for users of the Bourne shell and derivatives):
or this (for users of *ugh* the C shell and derivatives):
setenv EMACS xemacs
Also, the `--prefix=PATH' option to `configure' may not be general
enough to set the paths you want. If not, you can pass variables to
the `make' command to control the installation. For a complete list
of tweakable variables, look in the makefile.
For example, to put the Lisp files in `$HOME/elisp' and the Info file
in `$HOME/info', you would type:
make lispdir=$HOME/elisp infodir=$HOME/info install
If you want to supply special flags to emacs for compiling the
elisp files, you would type:
make EMACSFLAGS="-q -no-site-file"
FSF Emacs 19.28
Mailcrypt's installation procedure assumes the directory structure
used by FSF Emacs 19.29 (e.g., `/usr/local/share/emacs/site-lisp').
If you are using 19.28, you will need to use an installation command
like the following:
make datadir=/usr/local/lib install
This is the *only* special action required to install Mailcrypt for
FSF Emacs 19.28.
FSF Emacs 20.3 or higher
To use Mailcrypt with rmail, put the following in your .emacs:
(add-hook 'rmail-show-message-hook 'mc-install-read-mode)
Don't use the following, which worked for older emacsen:
(add-hook 'rmail-mode-hook 'mc-install-read-mode)
Mailcrypt requires the `easymenu' package, which is bundled with FSF
Emacs 19.28 (and higher) and with XEmacs 19.13 (and higher). If you
are using XEmacs 19.12, you will need to obtain a copy of this package
and install it somewhere in your load-path. The easiest way is to go
and obtain the latest version of `auc-menu.el'. Install it in your
load path under the name `easymenu.el'. (Don't ask why.)
Obsolete PGP versions
Versions of PGP prior to 2.6 (including version 2.6ui, which is just a
hacked 2.3a) do not support the "+comment" option, which Mailcrypt
uses for gratuitous advertising. To use Mailcrypt with such a version
(or just to suppress the message), add the following line to your
(setq mc-pgp-comment nil)
PGP 5.0 Support
Starting with Mailcrypt 3.5b1, Mailcrypt can support both older (2.6.*)
and newer (5.0) versions of PGP. Support for PGP 5.0 is limited, and
excludes key snarfing, among other things. All of the same keymaps and
functions are used as in Mailcrypt 3.4; nothing should have changed
for the end user. (Note: *please* send me suggestions and patches
to <mailto:email@example.com> if you have improvements or fixes you
To use Mailcrypt 3.5b1 and higher, you must include two lines like the
following in your .emacs file:
(mc-setversion "5.0") ;; Alternately, "2.6" or "gpg"
The function mc-setversion is interactive, and can be used at any time
to toggle between PGP versions. A nice future enhancement would be to
add this option to the PGP menu.
GPG (Gnu Privacy Guard) Support
Starting with Mailcrypt 3.5b7, there is alpha support for gnupg. Almost
everything available to pgp2 is available, with the notable exception
of automatic key fetching. There are some bugs and limitations in the
current gpg support. See README.gpg for details.
To use GPG by default, add this to your .emacs file:
Most mailcrypt commands will let you set the encryption scheme on the
fly: use a double prefix argument. For example, to sign a message,
use C-u C-u C-c / s, and you will be asked for a scheme and a user id.
The GPG home page is at
<http://www.d.shuttle.de/isil/crypt/gnupg.html>. The source is available
Send all suggestions for fixes, etc to <mailto:firstname.lastname@example.org>.