mh(1)mh(1)NAME
mh, MH - Introduction to the MH system for handling mail
DESCRIPTION
MH is the name of a powerful message handling system. Rather than being
a single comprehensive program, MH consists of a collection of fairly
simple single-purpose programs to send, receive, save, and retrieve
messages.
Unlike mail, MH is not a closed system that must be explicitly run, and
then exited when you wish to return to the shell. Instead, you may
freely intersperse MH commands with other shell commands. This allows
you to read and answer your mail while you have (for example) a compi‐
lation running, or are searching for a file or running programs to find
an answer to someone's question before replying to them.
To get started using MH, add the directory /usr/bin/mh to your $PATH.
This is best done in one of the files or in your home directory. Check
the reference page for the shell you use if you do not know how to do
this. Run the inc command. If you have never used MH before, the inc
command creates the necessary default files and directories after ask‐
ing you if you want it to do so. The inc command moves mail from your
system maildrop into your MH +inbox folder. Each message is converted
to MH format, and stored as separate files in your +inbox folder until
you have read it. When you have read a message, you can refile it in
another folder that you have created.
Folders are directories in which messages are stored: the folders them‐
selves are stored in your Mail directory. See refile(1) and folder(1)
for more details.
For each message it processes, inc prints a one-line display. The one-
line display contains the From: field, the Subject: field, and as much
of the first line of the message as it can accommodate. The first mes‐
sage that inc processes becomes your current message. All MH commands
operate on the current message unless you have specified the msg argu‐
ment.
You need to run inc each time you wish to incorporate new mail into
your +inbox folder.
The scan command prints a list of the messages in your current folder.
The commands show, next, and prev are used to read specific messages
from the current folder. Of these, show displays the current message.
You can also display a specific message by specifying its number. In
the following example, the mail system displays the contents of message
number 10 in the current folder:
% show 10
The commands next and prev display the message numerically following
and numerically preceding the current message, respectively. In all
cases, the message displayed becomes the current message. If there is
no current message, show may be called with an argument, or next may be
used to advance to the first message. The command rmm (remove message)
deletes the current message.
You can delete messages other than the current message by specifying
the message number or numbers. When you specify more than one message,
you separate each message number by a space. In the following example,
messages 2, 4 and 6 in the current folder are deleted:
% rmm 2 4 6
The command repl is used to reply to a message. This command places you
in the editor with a prototype response form. While you are in the edi‐
tor, you may view the item you are responding to by reading the file @.
The comp command allows you to compose a message by putting you in the
editor on a blank message header form, and then lets you send it.
All the MH commands can be run with only the -help option, which causes
them to print a list of the parameters and options with which they can
be used.
Commands that take a message number as an argument (scan, show, and
repl, for example) also take one of the following keywords: Specifies
the first message in the current folder. Specifies the last message in
the current folder. Specifies the current message in the current
folder. Specifies the previous message in the current folder. Speci‐
fies the next message in the current folder.
Commands that take a range of message numbers, such as rmm, scan, or
show, also take any of the following abbreviations: Indicates all mes‐
sages in the range num1 to num2, inclusive. The specified range must
contain at least one message. Indicate up to n messages beginning with
(or ending with) message num. The value of num may be any of the MH
message keywords: first, prev, cur, next, or last. Specify the first,
previous, next, or last n messages, if they exist.
MH software offers many other options, such as creating multiple fold‐
ers for different topics, and automatically refiling messages according
to subject, source, destination, or content. The following MH reference
pages provide information on the specified topics: Extracting addresses
from message headers Listing mail aliases Annotating messages Exploding
digests into messages Composing a message Redistributing a message to
additional addresses Setting/listing the current folder/message Listing
all folders Forwarding messages Incorporating new mail Marking messages
Producing formatted listings of MH messages Sending or reading mail
Printing full pathnames of MH messages and folders Checking for mes‐
sages Running the MH shell Showing the next message Compressing a
folder into a single file Selecting messages by content Showing the
previous message Prompting editor front end Incorporating new mail
asynchronously Filing messages in other folders Replying to a message
Removing a folder Removing messages Producing a one line per message
scan listing Sending a message Receiving mail hooks Showing (listing)
messages Sorting messages Using the prompting front-end for send
Reporting who will receive a message when it is sent Using the alias
file for the MH message system Using the format file for the MH message
system Using the message format file for the MH message system Using
the user customization for the MH message system Using the systemwide
customization for the MH message system Running the program that parses
addresses in RFC 822-style Searching for alias/password conflicts Run‐
ning the program that parses dates in RFC 822-style Initializing the MH
environment for a system Running the backend processor for the send
command
Internationalization (I18N) Features
The default mail interchange code in the United States is based on
using only 7 bits of each byte to represent each character. To provide
full support for European languages other than English, MH software
must reserve the full 8 bits of each byte for character representation.
Support for 8-bit code in mail is enabled by the system manager as part
of the configuration process for worldwide support software.
In Asian countries, there are a variety of coded character sets (code‐
sets) that are used for interchange of mail between systems and for
processing by local applications. Most of these codesets require more
than one byte to represent each character. For Asian languages, the MH
software therefore supports codeset conversion of mail messages between
the mail interchange codeset and the user's application codeset. For
example, if the mail interchange codeset at sites in Japan is
ISO-2022-JP and the user's application codeset is eucJP, the next com‐
mand needs to convert the next message to eucJP before displaying the
message. Otherwise, Japanese characters do not display correctly.
Codeset conversion is controlled through entries in various files, com‐
mand options, and variable settings that are associated with MH soft‐
ware. The conversion is actually done by converters that reside in the
/usr/lib/nls/loc/iconv directory. Each converter supports a single
from_code and to_code conversion that is identified in the converter
name. For example, the converter that supports conversion from the
ISO-2022-JP mail interchange codeset to the eucJP user application
codeset is named ISO-2022-JP_eucJP. Codeset conversion works only if
converters are available for the mail interchange and user application
codesets that apply to the message and if those converters are
installed. (Converters are installed from optional language-specific
subsets). Refer to the iconv_intro(5) reference page for more informa‐
tion about codeset conversion.
By default, to eliminate risk of data loss, the inc command stores
incoming mail messages in mail folders without codeset conversion. In
this case, the codeset conversion is performed later when you display
or extract messages from mail folders. If you want codeset conversion
to be performed at the time messages are stored in folders, you can
specify the -conv option on the inc command line. To ensure correct
codeset conversion in some Asian countries, you may need to use the
inc -conv inshdr command when incoming messages do not include a Con‐
tent-Type entry in the header. Refer to the inc(1) reference page for
more information on the -conv option.
To include mail interchange codeset information in outgoing mail mes‐
sages, the MH software adds new header lines. For example, if
ISO-2022-JP is the mail interchange code, the following header lines
are added to outgoing messages:
Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-2022-JP
For non-ISO codesets, the software adds the prefix “X-” to the codeset
name for identification purposes. For example, if the codeset is eucJP,
the following header lines are added to the message:
Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=X-eucJP
For incoming mail, MH software uses the following settings (in the
order listed) to determine the mail interchange codeset: The value
specified for charset in the Content-Type: header line, if present in
the incoming message The default systemwide mail interchange codeset as
specified in the /usr/lib/mail-codesets file
This file must be created by the system administrator and con‐
tains one line that is the name of the systemwide mail inter‐
change codeset. For example:
ISO-2022-JP
When parsing the mail-codesets file, the MH software ignores
comment lines (lines beginning with #), blank lines, and leading
or trailing white space around the codeset name. The first line
that is not a comment or blank line is assumed to specify the
systemwide mail interchange codeset.
The MH software does not perform codeset conversion on incoming mail if
neither of these settings specifies a codeset.
For outgoing mail, MH software uses the following settings (in the
order listed) to determine the mail interchange codeset: The EXCODE
environment variable The profile component excode defined in
$HOME/.mh_profile The content of /usr/lib/mail-codesets
MH software determines the user application codeset from the codeset
part of locale name settings for the following variables and file
entries (listed in order of high to low precedence): The LC_ALL envi‐
ronment variable The LANG environment variable The profile component
lang defined in $HOME/.mh_profile
RESTRICTIONS
You cannot create folder names that are made up of only digits.
FILES
Directory containing commands MH library
mh(1)