Provided by: nmh_1.3-1build1_amd64 bug

NAME

       mh-profile - user profile customization for nmh message handler

SYNOPSIS

       $HOME/.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  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, dist, forw, and repl.   (profile,
            default: /usr/bin/sensible-editor)

       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
            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  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.   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/mh/mhbuild
            This is the program used by whatnow to process  drafts  which  are  MIME  composition
            files.

       fileproc: /usr/bin/mh/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/mh/inc
            Program  called  by  mhmail  to  incorporate  new  mail  when  it  is invoked with no
            arguments.

       installproc: /usr/lib/mh/install-mh
            This program is called to initialize the environment for new users of nmh.

       lproc: /usr/bin/sensible-pager
            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/mh/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/lib/mh/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/sensible-pager
            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 display message bodies
            (or message parts) of type text/plain.

       mshproc: /usr/bin/mh/msh
            Currently not used.

       packproc: /usr/bin/mh/packf
            Currently not used.

       postproc: /usr/lib/mh/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/mh/rmf
            Currently not used.

       sendproc: /usr/bin/mh/send
            This is the program to use by whatnow to actually send the message

       showmimeproc: /usr/bin/mh/mhshow
            This is the program used by show to process and display non-text (MIME) messages.

       showproc: /usr/lib/mh/mhl
            This is the program used by show to filter and display text (non-MIME) messages.

       whatnowproc: /usr/bin/mh/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/mh/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 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.  The  convention  is  that  environment variables whose names are all upper-case are
       user-settable; those whose names are lower-case only are used internally by nmh and should
       not generally be set by the user.

       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 mh-draft(5).  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 8-bit 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).

       $MAILDROP
            This  variable tells inc the default maildrop. This supersedes the “MailDrop” profile
            entry.

       $SIGNATURE
            This  variable  tells  send  and  post  your  mail  signature.  This  supersedes  the
            “Signature” profile entry.

       $HOME
            This variable tells all nmh programs your home directory

       $SHELL
            This variable tells bbl the default shell to run

       $TERM
            This variable 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
            This is 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
            This is 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 by comp, repl, forw, and dist 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
            This is 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>

SEE ALSO

       nmh(7), environ(5), mh-sequence(5)

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

       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)