MH-PROFILE(5) [nmh-1.0.4] (MH.6.8) 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_profile in his or her home directory. This file
contains a set of user parameters used by some or all of the
nmh family 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.
Standard Profile Entries
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 present. 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. (profile, 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. (context,
default: folder specified by Inbox)
Inbox: inbox
Defines the name of your default inbox. (profile,
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
Page 1 (printed 2/1/01)
MH-PROFILE(5) [nmh-1.0.4] (MH.6.8) MH-PROFILE(5)
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.
(profile, no default)
Unseen-Sequence: unseen
Names the sequence or sequences which should be
defined as those messages which are unread. The
commands inc, rcvstore, mhshow, 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. Otherwise,
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 private
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: /usr/bin/vi)
automimeproc:
If defined and set to 1, then the whatnow program
will automatically invoke the buildmimeproc
(discussed below) to process each message as a
MIME composition draft before it is sent.
(profile, no default)
Msg-Protect: 644
Page 2 (printed 2/1/01)
MH-PROFILE(5) [nmh-1.0.4] (MH.6.8) MH-PROFILE(5)
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: 750
An octal number which defines the permission bits
for new folder directories. See chmod (1) for an
explanation of the octal number. (profile,
default: 700)
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 lasteditor, the default
editor is set to be nexteditor. 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 auditfile
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 hostnames for the
mailboxes you indicate, as local nicknames for
hosts are not replaced with their official site
Page 3 (printed 2/1/01)
MH-PROFILE(5) [nmh-1.0.4] (MH.6.8) MH-PROFILE(5)
names. For each address, if a host is not given,
then that address on any host is considered to be
you. In addition, an asterisk (`*') 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 superseded by the environment
variable MAILDROP. (profile, default:
/var/mail/$USER)
Signature: RAND MH System (agent: Marshall Rose)
Tells send your mail signature. This is
superseded by the environment variable SIGNATURE.
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)
Process Profile Entries
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/freeware/bin/mhbuild
This is the program used by whatnow to process
Page 4 (printed 2/1/01)
MH-PROFILE(5) [nmh-1.0.4] (MH.6.8) MH-PROFILE(5)
drafts which are MIME composition files.
fileproc: /usr/freeware/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/freeware/bin/inc
Program called by mhmail to incorporate new mail
when it is invoked with no arguments.
installproc: /usr/freeware/lib/nmh/install-mh
This program is called to initialize the
environment for new users of nmh.
lproc: /usr/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/freeware/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
to retrieve an external-body with access-type
`mail-server' (such as when storing the body with
mhstore).
mhlproc: /usr/freeware/lib/nmh/mhl
This is the program used to filter messages in
various ways. It is used by mhshow 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: /usr/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 mhshow to
Page 5 (printed 2/1/01)
MH-PROFILE(5) [nmh-1.0.4] (MH.6.8) MH-PROFILE(5)
display message bodies (or message parts) of type
text/plain.
mshproc: /usr/freeware/bin/msh
Currently not used.
packproc: /usr/freeware/bin/packf
Currently not used.
postproc: /usr/freeware/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/freeware/bin/rmf
Currently not used.
sendproc: /usr/freeware/bin/send
This is the program to use by whatnow to actually
send the message
showmimeproc: /usr/freeware/bin/mhshow
This is the program used by show to process and
display non-text (MIME) messages.
showproc: /usr/freeware/lib/nmh/mhl
This is the program used by show to filter and
display text (non-MIME) messages.
whatnowproc: /usr/freeware/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/freeware/bin/whom
This is the program used by whatnow to determine
to whom a message would be sent.
Environment Variables
The operation of nmh and its commands it also controlled by
the presence of certain environment variables.
Many of these environment variables are used internally by
the What now? interface. It's amazing all the information
Page 6 (printed 2/1/01)
MH-PROFILE(5) [nmh-1.0.4] (MH.6.8) MH-PROFILE(5)
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 configuration, 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
absolute, (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 profile). As always, unless the
value of MHCONTEXT is absolute, it will be presumed to
start from your nmh directory.
MM_CHARSET : With this environment 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 character set that
doesn't match MM_CHARSET. This variable is checked by
mhshow for matches against the charset parameter of
text contents 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.
When decoding text in such an alternate character set,
nmh must be able to determine which characters are
alphabetic, which are control characters, etc. For
many operating systems, this will require enabling the
support for locales (such as setting the environment
variable LC_CTYPE to iso_8859_1).
Page 7 (printed 2/1/01)
MH-PROFILE(5) [nmh-1.0.4] (MH.6.8) MH-PROFILE(5)
MAILDROP : tells inc the default maildrop
This supersedes the MailDrop: profile entry.
SIGNATURE : tells send and post your mail signature
This supersedes the Signature: profile entry.
HOME : tells all nmh programs your home directory
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 terminal
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 message 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.
Page 8 (printed 2/1/01)
MH-PROFILE(5) [nmh-1.0.4] (MH.6.8) MH-PROFILE(5)
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.
FILES
$HOME/.mh_profile The user profile
or $MH Rather than the standard profile
<mh-dir>/context The user context
or $MHCONTEXT Rather than the standard context
<folder>/.mh_sequences Public sequences for <folder>
PROFILE COMPONENTS
All
SEE ALSO
mh(1), environ(5), mh-sequence(5)
DEFAULTS
None
CONTEXT
All
HISTORY
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 directory.
As a result, you can actually have more than one set of
private sequences by using different context files.
BUGS
Page 9 (printed 2/1/01)
MH-PROFILE(5) [nmh-1.0.4] (MH.6.8) MH-PROFILE(5)
The shell quoting conventions are not available in the
.mh_profile. Each token is separated by whitespace.
There is some question as to what kind of arguments should
be placed in the profile as options. In order to provide a
clear answer, recall command line semantics of all nmh
programs: 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 profile 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)
Page 10 (printed 2/1/01)