exmh - An introduction to the exmh mail user interface.
This man page provides a quick tour through some of the basic features
of exmh version 2.0, which provides a graphical user interface to the
MH mail system.
After you read this tutorial you should be able to use exmh for your
basic daily mail reading needs. You will learn how to send mail, read
mail, manage your messages in folders, and adjust some of the exmh
features by means of its Preferences user interface.
There is much more documentation available on-line through HTML pages
that are viewable from within exmh. In particular. exmh-use provides
information about using the more advanced features of exmh. If you are
already an experienced email user, you may want to just read the
GETTING STARTED section here and then skip to the exmh-use man page.
exmh-custom describes how to customize exmh to suit your needs. exmh-
ref lists each button and menu entry in exmh and explains what they do.
If you are an experienced exmh user, this may be the most useful man
page for you.
A cleaned up version of these man pages appear in the 3rd edition of
the book by Jerry Peek, MH & xmh: email for users and programmers,
which is published by O’Reilly & Associates.
Web versions of the documentation can also be found at
If you are already an MH or xmh user, you can start with the examples
given in this tour. If you are a new user, exmh will set up your basic
MH environment. This includes a Mail directory which will have one
subdirectory for each mail folder, plus several files that MH mail uses
for its own purposes. You also get a ~/.mh_profile file that has user
settings for MH and exmh.
Exmh uses the regular MH programs to manipulate your mail folders and
messages. This means it is compatible with command-line use of MH
programs, and its actions should be familiar if you are an experienced
MH user. If you are a new MH user, then the details of running MH
programs is hidden behind the graphical interface. The MH programs
used by exmh are described towards the end of this man page.
When you run exmh for the first time it checks a few things in your MH
profile. In particular, it depends on the Draft-Folder and Unseen-
Sequence profile components. If these profile components are not
present, a dialog appears and exmh can set them up for you. If you do
not let exmh create them nor set them up by hand, exmh will not work
properly. These profile entries are described in the exmh-ref man
Exmh has been designed to be very flexible, although it will work just
fine "out of the box". The Preference package used to adjust some of
the settings in exmh is introduced in this man page, and some of the
important settings are described here. A more complete guide to
customizing exmh is given in the exmh-custom man page.
The command to start exmh looks like this:
exmh -display hostname:0 &
If your DISPLAY environment variable is set up properly, then the
-display argument is not needed, and the command is even simpler. You
do not need to specify a -geometry argument, although exmh supports
one. Instead, simply position and size the window using your window
manager. When exmh quits, it saves the geometry information so you
don’t have to worry about it. It does this with all its top level
windows, so you can adjust their position once and then forget about
it. There are more command line options described in the exmh-ref man
You can add the exmh command to your startup X environment by editing
your startup file (like .xsession). You might also want to add it to
the main menu of your window manager. The details about this vary from
X system to X system, so ask your local X guru for help. Exmh also
supports the window manager session protocol, which means that session-
smart window managers will automatically start exmh for you if you quit
X when exmh is running.
THE EXMH DISPLAY
This section describes the main parts of the exmh display. It probably
makes sense to run exmh at this point so you can follow along. There
are three sets of buttons in the interface, and three main subwindows.
Main Buttons. Along the top of the window is a set of buttons and
menus that apply to exmh itself. Quit, for example, quits exmh. The
Help button pops up a menu, and you can select the entries there to get
more on-line information about exmh. Use the left mouse button to
select the buttons and menus. A button will change its appearance when
you press it, and it will be invoked when you release the mouse over
the button. If you slide the mouse off the button before releasing it,
Folder Display. Below the main buttons is the folder display
subwindow. It has a special button for each of your top-level folders,
and these are called folder labels. As a new user you will see two
folder labels, one for inbox and drafts. The inbox folder is for your
new messages, and the drafts folder is for messages you are writing.
If you have used MH (or xmh) before, then you may have many more
folders that will appear in this display. The mouse bindings for
folder labels are explained in the exmh-use man page. The Color Legend
from the Help menu also tells you how the folder labels respond to
Folder Cache. A second folder display called the folder cache may
appear under the main folder display. This shows the folder labels for
recently used folders. If you only have a few folders this wastes
screen real estate. The PREFERENCES section near the end of this man
page explains how to turn this off via the Folder Cache preferences
setting. If you are a first-time exmh user, Exmh tries to guess if you
need this display based on the number of folders and nested folders you
Folder Buttons. The middle set of buttons is for operations that apply
to folders. For example, you can create a new folder with the New
button here. The More... button displays a popup menu with several
more operations you can apply to folders. Some of these buttons will
be introduced in this man page. All of these buttons and menus are
explained in detail in the exmh-ref man page.
To the left of the folder buttons, summary information about the
current folder is displayed.
Table of Contents. The middle subwindow of the display shows a summary
of the messages in the folder. It shows the message number, the date
of the message, the subject of the message, and, space permitting, the
first few words of the message. Left click on a line in the table of
contents to view the corresponding message. The mouse bindings for the
table of contents are described in more detail in the exmh-use man
MH experts: The display in this window comes from both the MH scan
program or MH inc programs, so it is affected by the form specification
used by these programs.
Color and Monochrome Highlights. Both the folder display and table of
contents windows use highlights to give you visual clues about the
state of messages and folders. Your unread messages are highlighted in
the table of contents and the folders that contain unread message are
highlighted in the folder display. Pull down the main Help menu and
select Color Legend to display a key to the highlights for your
display. The highlighting is covered in more detail later in the exmh-
use man page. The exmh-custom man page tells how you can control the
Status Line. Just below the table of contents is the status line.
This has two parts. The left part shows the name of the folder and the
message number for the current message, if any. The right part gives
feedback about what exmh is doing. After it displays a message, the
Subject component is displayed there.
Subwindow Resize Diamond. The black diamond to the right of the status
line is used to change the size of the internal windows. Press the
first mouse button on this target and a horizontal line appears. Drag
it up and down to adjust the window sizes. Try dragging it all the way
to the top and bottom of the exmh window to see how the mode changes to
adjust different windows.
Message Buttons The bottom row of buttons are for operations that apply
to the current message. Several of these operations will be introduced
in this man page. The right hand button labeled More... brings up a
menu with several more advanced message operations.
Hint: Many of these message operations have keyboard shortcuts that
make it easy to use exmh with your hands on the keyboard. Some of the
short-cuts are introduced in this man page, and all of them are listed
in the exmh-use man page.
Message Display. The bottom subwindow displays the current message, if
any. Some of the less interesting mail headers start out scrolled off
the top of this window.
A good way to test things out is to send a message to yourself. Here
are the steps you take to do that:
1. Click the Send button, which is in the Message buttons in the
bottom group. A new window will open that contains the template for
your message. The built-in editor, which is called sedit, will start
out with the insert cursor positioned at the end of the first empty
header line. Enter your user name after the To: header. If you want
to send the message to more than one person, use a comma to separate
2. Position the insert cursor on the next header line. You can do
this a few different ways. The most direct way is to click the left
mouse button where you want the cursor to be. There are keyboard
shortcuts, too. If you press <Tab> the editor will take you to the end
of the next header line. You can also use the arrow keys or some
emacs-like bindings to move the cursor. <Control-n> goes to the next
line, <Control-f> moves the cursor forward a character. <Control-p>
moves up a line, and <Control-b> moves back a character. The Simple
Edit menu entry shows you all the keybindings.
3. The next header is the Cc: line. People listed in the Cc: line get
a "courtesy" (or "carbon") copy of the message. By convention, the
message is primarily for the people listed in the To: component, and
the people in the Cc: component are getting the message "for
information." In this case, you can leave the Cc: component empty.
Move the insert cursor to the Subject: line and enter a Subject. The
people that receive your message will get an idea of what the message
is about from the subject, so take a moment to think of a good one.
For this test, you can type something like "exmh test message".
4. Make sure the headers are OK. In particular, make sure there are
no blank lines in the headers. The mail system treats a blank line as
meaning "end-of-headers", so you don’t want to prematurely end the
header section. If you have a blank line, position the insert cursor
on it and use Backspace to remove the empty line.
Position the cursor at the start of the message body. You can use the
mouse for this, or you can press <Tab> twice quickly and the editor
will position the cursor correctly. When using the default MH message
templates, this will be right after the line of all dashes.
5. Type in your message. When you type in a long message, the lines
will wrap automatically at word boundaries. To get a blank line for
paragraph boundaries, press <Return>. The built-in editor supports
several editing commands that are based on the GNU emacs key bindings.
If you select the Simple Edit menu entry under the main Bindings menu,
you will bring up a dialog that lets you view and edit the key
6. If you are happy with the message, you send it by pressing the Send
button at the top-right corner of the window. The Send button will
turn grey, and the window will disappear once the message has been sent
If you do not want to send the message, press the Abort button instead.
If you want to save the message draft and continue to work on it later,
press the Save&Quit button. Working on a saved draft message is
described in the exmh-use man page.
Send yourself a few messages, or have a friend send you a few test
messages. You will use these test messages to practice moving around
in a folder and deleting messages. Make one of the messages pretty
long so you can practice scrolling through it.
Finally, try sending email@example.com a message. This
addresses a program that will return a MIME message to you. Just put
this address in the To field with anything as the message body and
subject. Reading this message will be described below.
The selection is dragged out with the left mouse button. You can
modify the selection by holding the Shift key while pressing the left
button. A double-click begins a word-oriented selection, and a triple-
click begins a line-oriented selection. If you drag a selection off
the bottom or top of a window the text will be scrolled automatically
and the selection will be extended.
Paste is done with the middle mouse button. The current insert point
is used, not the point at which you middle-click. If you drag the
middle mouse button, then the window is scrolled instead as described
below. There is also a key-binding for paste, which is <Control-y>.
Use <Control-w> or the <Delete> key to delete the selection.
The middle mouse button is used for "drag-scrolling". To scroll,
simply press the middle mouse button over the text and drag the text.
If you press the Shift key, the scrolling is faster. Drag-scrolling
works in the text widgets, for vertical scrolling, and the one-line
entry widgets, for horizontal scrolling. The text widgets are used to
display the folder contents and the current message. The entry widgets
are used in various dialogs in order to enter values. You can change
the scrolling button to the right button or to only work with shift-
middle. Set this up in the Simple Edit Bindings... dialog.
Buttons and menus are also sensitive to which mouse button is pressed.
Only the left button activates a button, and it is the <ButtonRelease>
event that is important. If you accidentally move the mouse off of the
button as you release it, nothing will happen. Don’t worry, the wrong
button will not be invoked.
Press the left button over a menu button to pull down a menu. Most of
the menus in exmh are distinguished with a "..." in their label, e.g.
"More...". The menu will go away when the button is released. Release
the mouse button off the menu if you do not want to invoke any menu
item. (In some versions of Tk, the middle button will "tear off" a Tk
menu. This is quite handy if you use the menu often. To get the menu
to go away, you must click the left button over the menu button. This
will reattach the menu to the menu button, and another left click will
make the menu go away. In the latest versions of Tk, the first menu
entry is a dashed line that invokes this tear-off operation.)
GETTING NEW MAIL
By now you should have some new mail waiting. Press the Inc button
from the middle set of buttons that do Folder operations. This will
transfer messages from your system spool file into your inbox folder.
You will hear an audible cue if there was new mail, and the table of
contents will be updated to reflect the new messages in your inbox.
New messages will be underlined (on a monochrome screen), or blue (on a
color screen), to indicate that you have not read them yet.
To view the new message, click on its line in the table of contents, or
press the Next button in the bottom group of buttons. The message will
be displayed in the bottom subwindow, and the line in the table of
contents will be highlighted to remind you which message is being
To view the next message, click the Next button. The keyboard shortcut
for this is the ’n’ key.
The view the previous message, click the Prev button. The keyboard
shortcut for this is the ’p’ key.
Scrolling through messages. If you get a message that is too long to
fit into the message window, then the scrollbar will change its
appearance to indicate how much text is displayed. The scrollbar is
Motif-like. You can click on the arrows at either end to go up and
down one line. If you click above or below the elevator box you go up
and down one page. You can drag the elevator box to scroll, too.
You can also scroll text windows in exmh by dragging with the middle
mouse button. Press the middle button over the text area, not the
scrollbar, and hold it down while you move the mouse up or down. If
you hold the shift key at the same time, the scrolling is faster. This
works in the folder Table of Contents window, too.
Hint. The space bar is a keyboard short-cut that does a combination of
scrolling and advancing to the next message. If the message is long,
then space will scroll by one screen. Once you are at the end of the
message, space will advance to the next message, just like the ’n’ key.
You can use the BackSpace key to scroll back through a message.
READING MIME MESSAGES
By now you should have also received the sample MIME message from mh-
firstname.lastname@example.org. The MIME message has three parts to it,
and these are numbered and labeled in the display. The first part is a
multipart/alternative content, which means there are a few different
ways to view the content. This is indicated by the message under the
heading 1. that there are alternative views of the following content.
Exmh will go ahead and display what it thinks is the best alternative,
and you see the text/enriched content displayed in part 1.2. If you
want to see the other alternatives, then you can press the right button
over section 1 to get a popup menu with some choices.
The next two parts are an audio clip and a picture in GIF format. The
audio clip is handled directly by exmh, and it displays two active text
buttons labeled "Play attached audio" and "Save audio file". Click on
either of these with the left mouse button. The part corresponding to
the image displays a message about what the type is, and suggests that
you press the right mouse button to display a menu. You can always
press the right button to get a MIME menu that has type-specific
options for parts of your message. If you press the right button over
part 2., then the popup menu will offer you these choices:
Decode part as MIME
Save Hello from the author...
View using mailcap rule...
Pass an audio fragment to metamail...
The first item is a checkbox menu item that lets you view the raw
content if you want to. The Save... menu entry displays a file
selection box so you can choose a non-temporary file to store the
content. This same function is available through the text button, but
not all MIME parts displays buttons like this. The next two entries
should result in the same thing. They use the mailcap specifications
to run another program that displays the content. In the first case,
View using mailcap rule..., exmh runs the program directly. In the
other case, Pass to metamail..., the metamail program is run first, and
it decodes the mailcap file and runs the external program. Again, the
text button labeled "Play attached audio" also plays the audio.
REPLYING TO MAIL
Select one of the messages from your friend that you’d like to answer.
Press the left button over the Reply... menu button. A menu with a few
entries will be displayed. Select the Reply to sender menu entry by
dragging the mouse down to that entry and letting up over it. The menu
entry has a <Key-r> in it, which means that you could also press the
’r’ key to invoke this function.
This time the built-in editor will open a window with a message that is
partly filled in. All the headers are initialized based on the header
components from the original message. The built-in editor will
automatically position the cursor at the beginning of the message body.
You can enter your reply message like you did with the previous
messages. You should also double-check the header components. In this
case, add yourself to the Cc: component so you will get a copy of the
reply message. When you are done, press the Send button in the editor
window to send the message.
There are a number of ways to control the format of your reply
messages. The MH repl command has several formatting options, and
because exmh uses repl to set up the reply message, you can customize
your reply format. Exmh lets you define several variations on reply
and add them to the Reply... menu. This is described in the exmh-
custom man page.
It should not take long for you to get the copy of the reply message.
Wait a minute or so and press the Inc button. The keyboard short-cut
for Inc is the ’i’ key.
Before we go on to more things you can do with messages, we need to
talk about selecting multiple messages at once. Several of the message
operations in exmh can operate on a set of messages. You can manually
select multiple messages by using the mouse, or you can select messages
based on their content.
Using the Mouse. To select messages with the mouse, press the left
button and then drag out a selection. This will select a contiguous
range of messages. If the messages you want to select are not so
nicely organized, you can make a disjoint selection by holding down the
Shift key while making your selection. This adds new messages to the
selection. If you shift-click on a message that is already selected,
then it becomes unselected. If you need to select a lot of messages,
simply drag the mouse off the top or bottom of the window. It will be
scrolled automatically and the selection will be extended.
The Search... menu has several operations for finding messages and
finding text within a message. There is also a help entry that
explains searching in more detail.
If you select "Find in message body" or "Find in table of contents" a
small search dialog appears. Enter the search string and use the Next
or Prev buttons to find the next match. When you are searching over
the table of contents, you can select All to select all matching
The other way to search a folder is with "Pick by attributes". The MH
pick program is used to search the current folder for messages that
match mail headers like From or Subject. You can build up boolean
expressions among search criteria. This is a much more general search
mechanism than the "Find in table of contents" operation.
Get started in the Pick dialog by pressing the "Choose pick attribute"
button. A menu of attribute types appears, including the Subject,
From, To, and Cc header components. You can type a regular expression
pattern in these entries to search for messages that have a matching
The Before and After attributes are dates. You can find all messages
before or after a given date by using these fields. You can specify
dates as mm/dd/yy. Be sure to include the year. Dates can also be
keywords like "today", "yesterday", "tomorrow", and any day of the week
("Sunday", "Monday", and so on.)
The Search attribute is used to search for something in the body of a
message. This will run little slower because pick must read through
all of your messages, not just their headers.
If you select more than one attribute, pick finds messages that match
all the criteria. In other words, it does the logical and of the
search criteria. If you want to search for this or that, then you need
to press the Or button in the dialog. This adds another set of fields
to the dialog, and pick will search for everything that matches the
first set or matches the second set.
The "Add to Sel" checkbutton should be set before you do the search.
This controls whether or not the selected messages are added to any
Finally, use the "Pick" button to do the search. Once the search has
completed you can perform a few operations on the selection. You can
delete and refile messages as described later. You can also display a
new table of contents that only contains the selected messages. Use
the "New FTOC" button for this. You can also clear the unseen state of
the messages with the "Mark Seen" button.
The "Clear" button resets the fields.
The two entries in the dialog are used to control MH sequences. The
only sequence exmh really supports well is the "unseen" sequence,
although you can define up to 10 sequences in each folder.
If you use New FTOC to get a new scan listing, it would be better if it
appeared in a new window, but currently it replaces the table of
contents. You can move around and manipulate messages in this table of
contents. However, if you do another pick, it will only find things in
this limited table of contents, not the whole folder. (Yes, this is a
bug.) Use the Rescan Folder menu entry in the folder More... menu to
get a complete folder listing.
If you want to send someone a copy of a message or messages that you
have received, use the Forward message operation. Select the messages
as described in the previous section, then press the Forward button.
The keyboard short-cut for forward is the ’f’ key.
The message template will have a copy of the selected messages. You
fill in the headers, and you can also add a short message before the
start of the forwarded messages. When you are done, press Send to
forward the messages.
After you have read a message, you might want to remove it to keep your
mail folders tidy. Exmh uses two steps to remove mail. In the first
step you mark a message as being deleted. In the second step you
commit the operations on all marked messages. It turns out that delete
just renames your message files. They will survive until you get
another message by the same number and remove it, too. In addition,
exmh has a "Purge Folder" operation that removes these renamed files if
they are more than a week old.
The Delete operation applies to the current message, or you can also
select a range of messages by dragging out a selection in the table of
contents. You can delete the current message(s) by pressing the Delete
button. The keyboard short-cut is the ’d’ key. The deleted message(s)
will be highlighted after the delete operation so you can easily see
the state of the message. On a monochrome screen, a cross hatching
will be drawn through the table of contents line for the message. On a
color screen, the table of contents line will get a dark grey
After you mark a message for delete, you are automatically advanced to
the next message. This makes it easy to go through your folder and
clean it up. Click ’d’ to delete, or click ’n’ to leave it alone.
Hint. If you are really in a hurry, use ’D’ and ’N’ as your keyboard
short-cuts. This prevents the next message from being displayed, which
can be slow for complex multi-media messages.
When you are ready to commit the pending delete actions, press the
Commit button. The keyboard shortcut for commit is <Control-Return>.
If you decide you do not want to delete a message you can unmark it.
Use the Unmark (Undo) menu entry that is under the message More...
menu. The unmark operation applies to the current message or messages,
so you have to select the messages to unmark first. The keyboard
short-cut for unmark is ’u’.
Hint. The minus, ’-’, keyboard shortcut takes you to the previous
message, even if it has been marked for delete. Ordinarily the Prev
operation, and the ’p’ short-cut for it, will skip over marked
Press the Quit button to leave exmh. It will take a few moments to
close down because it saves some state information before quitting.
The Quit button will grey out after you click it, and you will see a
few status messages as it shuts itself down.
Try out the Preferences by turning off the folder cache. This just
takes up display space if you don’t have many folders. If you have
lots of nested folders, though, you might even want to make this
Click the Preference button, which brings up a dialog that has buttons
for several of the modules that make up exmh. Click on the Folder
Cache button to bring up the preference items that control the folder
cache. In this case there are just two items: the number of lines of
labels in the cache, and the names of folders that are always in the
cache. Click in the first field and backspace over the default value
of 1. Type in 0 instead, and press <Return>. Voila! The folder cache
If you like this setting, press Save on the main Preference dialog and
your changes will be saved to a file named ~/.exmh-defaults. Press
Reset if you want to undo your changes. You should be a little careful
here, because you are allowed to Dismiss the preference dialog without
Another useful preference item to set is under Background Processing.
You can arrange for exmh to periodically run inc so your messages are
automatically transferred into your inbox. The advantage of doing this
is that the folder label highlighting works best this way.
Unfortunately, exmh does not give you any visual clues when mail is
only waiting in your system spool file.
More details about the Preferences dialog are given in the exmh-use man
page, and an overview of the various preference sections is given in
the exmh-custom man page..
WHAT IS MH MAIL?
MH is a collection of UNIX programs that store, manipulate, and display
your mail. MH originated from RAND, and it is now in the public domain.
Exmh uses these programs to do all the hard work, while it concentrates
on the user interface.
You can use the MH programs to read your mail. Run them from the UNIX
command line like you would cd, ls, cc, or make. They are useful when
you are connecting over a slow line or cannot run exmh for some other
reason. For more details, there are individual man pages for each MH
program, plus one overview man page called MH. Below is a short
summary of the main MH programs used by exmh.
folder Query or set the current folder.
inc Incorporate mail from your system spool file into your folders.
scan Display a listing of a mail folder.
show Display a mail message.
next Display the next mail message. (Exmh doesn’t actually run
prev Display the previous mail message. (Exmh doesn’t actually run
rmm Delete a mail message.
refile Move a message into another mail folder.
repl Reply to a mail message
forw Forward one or more mail messages.
comp Compose a new mail message.
MH keeps track of the current folder and the current message in between
uses of these MH programs. For example:
% scan +inbox unseen
1713 04/14 foote.PARC@xerox. Have you started blasting cdroms yet?<<Probably.
1715 04/14 FlashBack Publish 1232: Tactix Introduces Break through in Unix Ad
1716 04/14 FlashBack Publish 1234: CERT Advisory - NCSA HTTP Daemon for UNIX<
1717 M04/15 To:welch PGP test<<-----BEGIN PGP MESSAGE----- Version: 2
1718 M04/17 email@example.com mime-flashback-w MIME FlashBack April 13th, 1995
1719 -04/16 Bill Wohler Notes for MH Chapters 20-22<<Brent, I have been
1720+-04/17 "Allen R. Carl" Re: Tabs<<Brent, where is this -tabs resource se
% show 1717
(Message 1717 displayed)
(Message 1718 displayed)
(Message 1718 deleted)
% repl 1717
(Set up template for reply to message 1717, invoke editor)
Each user has a .mh_profile file that stores general MH settings as
well as per-command settings. Each line has a key, and a value. For
example, your mail directory is set with the Path profile entry:
If your old mail system uses that directory already, just edit your
.mh_profile to change the name used for your MH mail folders.
MORE ABOUT EXMH
This man page should get you started with exmh. If you decide you want
to know more about it, here are some of the features described in the
other exmh man pages.
MIME support. Exmh can display MIME (Multipurpose Internet Mail
Extensions) messages, either directly or with the help of the metamail
package. The built-in editor lets you compose enriched text messages
and insert files as parts of a multipart message.
Mail Folders. You can create other mail folders to hold messages about
certain topics or from certain people. You can create a hierarchical
arrangement of folders, just like the hierarchical directory structure
of the file system. The folder display supports these nested folders,
and it allows you to nest folders to any depth.
Mail Filtering. Mail filtering lets you sort mail into different
folders before you read it. If you get lots of mail, this is a great
way to avoid plowing through junk mail just to get your important
messages. The folder labels are highlighted to indicate which folders
have unread mail in them.
Facesaver bitmap display. If you have a facesaver database on your
system, exmh displays the bitmap face of the person that sent the
current message (or their organization).
Background processing. You can set exmh to run inc periodically, check
for new messages arriving asynchronously in folders, run the MH msgchk
program, or count up the messages in your mail spool file.
Editor interface. You can hook exmh to your favorite editor using the
exmh-async script. Or, Tcl-based editors such as mxedit can interact
with exmh directly.
Keybinding User Interface. You can define new key bindings for Tcl
commands that are part of the implementation.
Aliases User Interface. A browser for your MH aliases lets you define
new aliases and insert aliases into mail messages.
Pretty Good Privacy (PGP). If you have PGP, you can use it from exmh
to digitally sign, encrypt, and decrypt messages.
User Programming. If the preference settings are not enough for you,
you can program exmh more directly. You can define new buttons and
menus and add new Tcl code to its implementation.
exmh-use, exmh-ref, exmh-custom, mh
Brent Welch, <firstname.lastname@example.org>
To Xerox PARC/CSL, for supporting this work initially, to Sun
Microsystems Laboratories for continuing the support, and to all the
exmh users that contributed ideas and code.