Computer Science
MH-PROFILE(5) MH-PROFILE(5)
NAME
mh-profile - user profile customization for nmh message
handler
SYNOPSIS
.mh_profile
DESCRIPTION
Each user of nmh is expected to have a file named .mh_pro-
file in his or her home directory. This file contains a
set of user parameters used by some or all of the nmh fam-
ily of programs. Each entry in the file is of the format
profile-component: value
If the text of profile entry is long, you may extend it
across several real lines by indenting the continuation
lines with leading spaces or tabs.
The possible profile components are exemplified below.
The only mandatory entry is `Path:'. The others are
optional; some have default values if they are not pre-
sent. In the notation used below, (profile, default)
indicates whether the information is kept in the user's
nmh profile or nmh context, and indicates what the default
value is.
Path: Mail
Locates nmh transactions in directory "Mail".
This is the only mandatory profile entry. (pro-
file, no default)
context: context
Declares the location of the nmh context file.
This is overridden by the environment variable
MHCONTEXT. See the HISTORY section below.
(profile, default: <nmh-dir>/context)
Current-Folder: inbox
Keeps track of the current open folder. (con-
text, default: folder specified by "Inbox")
Inbox: inbox
Defines the name of your default inbox. (pro-
file, default: inbox)
Previous-Sequence: pseq
Names the sequence or sequences which should be
defined as the `msgs' or `msg' argument given to
any nmh command. If not present or empty, no
such sequences are defined. Otherwise, for each
name given, the sequence is first zero'd and
then each message is added to the sequence.
Read the mh-sequence(5) man page for the details
about this sequence. (profile, no default)
Sequence-Negation: not
Defines the string which, when prefixed to a
sequence name, negates that sequence. Hence,
"notseen" means all those messages that are not
a member of the sequence "seen". Read the
mh-sequence(5) man page for the details. (pro-
file, no default)
Unseen-Sequence: unseen
Names the sequence or sequences which should be
defined as those messages which are unread. The
commands inc, rcvstore, and show will add or
remove messages from these sequences when they
are incorporated or read. If not present or
empty, no such sequences are defined. Other-
wise, each message is added to, or removed from,
each sequence name given. Read the
mh-sequence(5) man page for the details about
this sequence. (profile, no default)
mh-sequences: .mh_sequences
The name of the file in each folder which
defines public sequences. To disable the use of
public sequences, leave the value portion of
this entry blank. (profile, default:
.mh_sequences)
atr-seq-folder: 172 178-181 212
Keeps track of the private sequence called seq
in the specified folder. Private sequences are
generally used for read-only folders. See the
mh-sequence(5) man page for details about pri-
vate sequences. (context, no default)
Editor: /usr/bin/vi
Defines the editor to be used by the commands
comp (1), dist (1), forw (1), and repl (1).
(profile, default: /bin/vi)
automimeproc:
If defined and set to 1, then the whatnow pro-
gram will automatically invoke the buildmimeproc
(discussed below) to process each message as a
MIME composition draft before it is sent. (pro-
file, no default)
Msg-Protect: 644
An octal number which defines the permission
bits for new message files. See chmod (1) for
an explanation of the octal number. (profile,
default: 0644)
Folder-Protect: 700
An octal number which defines the permission
bits for new folder directories. See chmod (1)
for an explanation of the octal number. (pro-
file, default: 0700)
program: default switches
Sets default switches to be used whenever the mh
program program is invoked. For example, one
could override the Editor: profile component
when replying to messages by adding a component
such as:
repl: -editor /bin/ed
(profile, no defaults)
lasteditor-next: nexteditor
Names "nexteditor" to be the default editor
after using "lasteditor". This takes effect at
"What now?" prompt in comp, dist, forw, and
repl. After editing the draft with "lastedi-
tor", the default editor is set to be "nextedi-
tor". If the user types "edit" without any
arguments to "What now?", then "nexteditor" is
used. (profile, no default)
bboards: system
Tells bbc which BBoards you are interested in.
(profile, default: system)
Folder-Stack: folders
The contents of the folder-stack for the folder
command. (context, no default)
mhe:
If present, tells inc to compose an MHE audit-
file in addition to its other tasks. MHE is
Brian Reid's Emacs front-end for nmh. (profile,
no default)
Alternate-Mailboxes: mh@uci-750a, bug-mh*
Tells repl and scan which addresses are really
yours. In this way, repl knows which addresses
should be included in the reply, and scan knows
if the message really originated from you.
Addresses must be separated by a comma, and the
hostnames listed should be the "official" host-
names for the mailboxes you indicate, as local
nicknames for hosts are not replaced with their
official site names. For each address, if a
host is not given, then that address on any host
is considered to be you. In addition, an aster-
isk (`*') may appear at either or both ends of
the mailbox and host to indicate wild-card
matching. (profile, default: your user-id)
Aliasfile: aliases other-alias
Indicates aliases files for ali, whom, and send.
This may be used instead of the `-alias file'
switch. (profile, no default)
Draft-Folder: drafts
Indicates a default draft folder for comp, dist,
forw, and repl. Read the mh-draft (5) man page
for details. (profile, no default)
digest-issue-list: 1
Tells forw the last issue of the last volume
sent for the digest list. (context, no default)
digest-volume-list: 1
Tells forw the last volume sent for the digest
list. (context, no default)
MailDrop: .mail
Tells inc your maildrop, if different from the
default. This is superceded by the environment
variable MAILDROP. (profile, default:
/var/spool/mail/$USER)
Signature: RAND MH System (agent: Marshall Rose)
Tells send your mail signature. This is
superceded by the environment variable SIGNA-
TURE. If SIGNATURE is not set and this profile
entry is not present, the "gcos" field of the
/etc/passwd file will be used; otherwise, on
hosts where nmh was configured with the UCI
option, the file $HOME/.signature is consulted.
Your signature will be added to the address send
puts in the "From:" header; do not include an
address in the signature text. (profile, no
default)
The following profile elements are used whenever an nmh
program invokes some other program such as more (1). The
.mh_profile can be used to select alternate programs if
the user wishes. The default values are given in the
examples.
buildmimeproc: /usr/bin/mhbuild
This is the program used by whatnow to process
drafts which are MIME composition files.
fileproc: /usr/bin/refile
This program is used to refile or link a message
to another folder. It is used by post to file a
copy of a message into a folder given by a
"Fcc:" field. It is used by the draft folder
facility in comp, dist, forw, and repl to refile
a draft message into another folder. It is used
to refile a draft message in response to the
`refile' directive at the "What now?" prompt.
incproc: /usr/bin/inc
Program called by mhmail to incorporate new mail
when it is invoked with no arguments.
installproc: /usr/lib/nmh/install-mh
This program is called to initialize the envi-
ronment for new users of nmh.
lproc: /bin/more
This program is used to list the contents of a
message in response to the `list' directive at
the "What now?" prompt. It is also used by the
draft folder facility in comp, dist, forw, and
repl to display the draft message.
mailproc: /usr/bin/mhmail
This is the program used to automatically mail
various messages and notifications. It is used
by conflict when using the `-mail' option. It
is used by send to post failure notices. It is
used by mhn to retrieve an external-body with
access-type `mail-server'.
mhlproc: /usr/lib/nmh/mhl
This is the program used to filter messages in
various ways. It is used by mhn to filter and
display the message headers of MIME messages.
When the `-format' or `-filter' option is used
by forw or repl, the mhlproc is used to filter
the message that you are forwarding, or to which
you are replying. When the `-filter' option is
given to send or post, the mhlproc is used by
post to filter the copy of the message that is
sent to "Bcc:" recipients.
moreproc: /bin/more
This is the program used by mhl to page the mhl
formatted message when displaying to a terminal.
It is also the default program used by mhn to
display message bodies (or message parts) of
type text/plain.
mshproc: /usr/bin/msh
Currently not used.
packproc: /usr/bin/packf
Currently not used.
postproc: /usr/lib/nmh/post
This is the program used by send, mhmail,
rcvdist, and viamail (used by the sendfiles
shell script) to post a message to the mail
transport system. It is also called by whom
(called with the switches `-whom' and
`-library') to do address verification.
rmmproc: none
This is the program used by rmm and refile to
delete a message from a folder.
rmfproc: /usr/bin/rmf
Currently not used.
sendproc: /usr/bin/send
This is the program to use by whatnow to actu-
ally send the message
showmimeproc: /usr/bin/mhn
This is the program used by show to process and
display non-text (MIME) messages.
showproc: /usr/lib/nmh/mhl
This is the program used by show to filter and
display text (non-MIME) messages.
whatnowproc: /usr/bin/whatnow
This is the program invoked by comp, forw, dist,
and repl to query about the disposition of a
composed draft message.
whomproc: /usr/bin/whom
This is the program used by whatnow to determine
to whom a message would be sent.
The operation of nmh and its commands it also
controlled by the presence of certain environ-
ment variables.
Many of these environment variables are used
internally by the "What now?" interface. It's
amazing all the information that has to get
passed via environment variables to make the
"What now?" interface look squeaky clean to the
nmh user, isn't it? The reason for all this is
that the nmh user can select any program as the
whatnowproc, including one of the standard
shells. As a result, it's not possible to pass
information via an argument list.
If the WHATNOW option was set during nmh config-
uration, and if this environment variable is
set, then if the commands refile, send, show, or
whom are not given any `msgs' arguments, then
they will default to using the file indicated by
mhdraft. This is useful for getting the default
behavior supplied by the default whatnowproc.
MH : With this environment variable, you can
specify a profile other than .mh_profile to
be read by the nmh programs that you
invoke. If the value of MH is not abso-
lute, (i.e., does not begin with a / ), it
will be presumed to start from the current
working directory. This is one of the very
few exceptions in nmh where non-absolute
pathnames are not considered relative to
the user's nmh directory.
MHCONTEXT : With this environment variable, you
can specify a context other than the normal
context file (as specified in the nmh pro-
file). As always, unless the value of
MHCONTEXT is absolute, it will be presumed
to start from your nmh directory.
MM_CHARSET : With this envrironment variable,
you can specify the native character set
you are using. You must be able to display
this character set on your terminal. This
variable is checked to see if a RFC-2047
header field should be decoded (in inc,
scan, mhl). This variable is checked by
show to see if the showproc or showmimeproc
should be called, since showmimeproc will
be called if a text message uses a charac-
ter set that doesn't match MM_CHARSET.
This variable is checked by mhn for matches
against the charset parameter of text con-
tents to decide it the text content can be
displayed without modifications to your
terminal. This variable is checked by
mhbuild to decide what character set to
specify in the charset parameter of text
contents containing 8bit characters.
MAILDROP : tells inc the default maildrop
This supercedes the "MailDrop:" profile
entry.
SIGNATURE : tells send and post your mail signa-
ture
This supercedes the "Signature:" profile
entry.
HOME : tells all nmh programs your home direc-
tory
SHELL : tells bbl the default shell to run
TERM : tells nmh your terminal type
The environment variable TERMCAP is also
consulted. In particular, these tell scan
and mhl how to clear your terminal, and how
many columns wide your terminal is. They
also tell mhl how many lines long your ter-
minal screen is.
editalt : the alternate message
This is set by dist and repl during edit
sessions so you can peruse the message
being distributed or replied to. The mes-
sage is also available through a link
called "@" in the current directory if your
current working directory and the folder
the message lives in are on the same UNIX
filesystem.
mhdraft : the path to the working draft
This is set by comp, dist, forw, and repl
to tell the whatnowproc which file to ask
"What now?" questions about.
mhfolder :
This is set by dist, forw, and repl, if
appropriate.
mhaltmsg :
dist and repl set mhaltmsg to tell the
whatnowproc about an alternate message
associated with the draft (the message
being distributed or replied to).
mhdist :
dist sets mhdist to tell the whatnowproc
that message re-distribution is occurring.
mheditor :
This is set to tell the whatnowproc the
user's choice of editor (unless overridden
by `-noedit').
mhuse :
This may be set by comp.
mhmessages :
This is set by dist, forw, and repl if
annotations are to occur.
mhannotate :
This is set by dist, forw, and repl if
annotations are to occur.
mhinplace :
This is set by dist, forw, and repl if
annotations are to occur.
mhfolder : the folder containing the alternate
message
This is set by dist and repl during edit
sessions so you can peruse other messages
in the current folder besides the one being
distributed or replied to. The environment
variable mhfolder is also set by show,
prev, and next for use by mhl.
^$HOME/.mh_profile~^The user profile ^or
$MH~^Rather than the standard profile
^<mh-dir>/context~^The user context ^or $MHCON-
TEXT~^Rather than the standard context
^<folder>/.mh_sequences~^Public sequences for
<folder> All mh(1), environ(5), mh-sequence(5)
None All The .mh_profile contains only static
information, which nmh programs will NOT update.
Changes in context are made to the context file
kept in the users nmh directory. This includes,
but is not limited to: the "Current-Folder"
entry and all private sequence information.
Public sequence information is kept in each
folder in the file determined by the
"mh-sequences" profile entry (default is
.mh_sequences).
The .mh_profile may override the path of the
context file, by specifying a "context" entry
(this must be in lower-case). If the entry is
not absolute (does not start with a / ), then it
is interpreted relative to the user's nmh direc-
tory. As a result, you can actually have more
than one set of private sequences by using dif-
ferent context files. The shell quoting conven-
tions are not available in the .mh_profile.
Each token is separated by whitespace.
There is some question as to what kind of argu-
ments should be placed in the profile as
options. In order to provide a clear answer,
recall command line semantics of all nmh pro-
grams: conflicting switches (e.g., `-header and
`-noheader') may occur more than one time on the
command line, with the last switch taking
effect. Other arguments, such as message
sequences, filenames and folders, are always
remembered on the invocation line and are not
superseded by following arguments of the same
type. Hence, it is safe to place only switches
(and their arguments) in the profile.
If one finds that an nmh program is being
invoked again and again with the same arguments,
and those arguments aren't switches, then there
are a few possible solutions to this problem.
The first is to create a (soft) link in your
$HOME/bin directory to the nmh program of your
choice. By giving this link a different name,
you can create a new entry in your profile and
use an alternate set of defaults for the nmh
command. Similarly, you could create a small
shell script which called the nmh program of
your choice with an alternate set of invocation
line switches (using links and an alternate pro-
file entry is preferable to this solution).
Finally, the csh user could create an alias for
the command of the form:
alias cmd 'cmd arg1 arg2 ...'
In this way, the user can avoid lengthy type-in
to the shell, and still give nmh commands
safely. (Recall that some nmh commands invoke
others, and that in all cases, the profile is
read, meaning that aliases are disregarded
beyond an initial command invocation)
[nmh-0.27] MH.6.8 1
Back to the index