System Requirements =================== 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; see below. Basic Installation ================== 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 manual. Load Path ========= 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 compilation. 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. Installation Names ================== 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: ./configure make EMACS=xemacs make install or this (for users of the Bourne shell and derivatives): EMACS=xemacs ./configure make make install or this (for users of *ugh* the C shell and derivatives): setenv EMACS xemacs ./configure make make install 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: ./configure make 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: ./configure make EMACSFLAGS="-q -no-site-file" make install 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) XEmacs 19.12 ============ 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 to ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/ 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 `.emacs' file: (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 if you have improvements or fixes you would make!) To use Mailcrypt 3.5b1 and higher, you must include two lines like the following in your .emacs file: (load-library "mailcrypt") (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: (load-library "mailcrypt") (mc-setversion "gpg") 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 . The source is available at . Suggestions/Bug Reports ======================= Send all suggestions for fixes, etc to .