Provided by: nmh_1.5-release-5_i386 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.  Comments may be introduced by a line starting with `#:':

            #: This is a comment.

       Blank lines are not permitted in .mh_profile.

   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: 600
            An  octal number which defines the permission bits for new message
            files.  See chmod(1) for  an  explanation  of  the  octal  number.
            (profile, default: 0600)

       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.
            (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)

       Folder-Stack: folders
            The  contents  of  the  folder-stack  for  the   folder   command.
            (context, no default)

       Local-Mailbox: Your Username <user@some.host>
            Tells  the  various  MH tools what your local mailbox is.  If set,
            will be used by the default component files by tools like comp and
            repl  to construct your default “From” header.  The text used here
            will be copied exactly to your From: header, so it should  already
            be RFC-822 compliant.  If this is set, the Signature profile entry
            is NOT used, so it should include a signature as well.   (profile,
            default: userid@local.hostname)

       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, refile, 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 front-end programs such as comp, forw, and  repl  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.  Your signature will be added to the address  send  puts  in
            the  “From:”  header;  do  not include an address in the signature
            text.  The “Local-Mailbox” profile  component  supersedes  all  of
            this.  (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 send 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.

       formatproc:
            Program called by mhl to filter a component when it is tagged with
            the  “format”  variable  in  the  mhl filter.  See mhl(5) for more
            information.

       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, the mhlproc is used 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.

       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.

       $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.

       $MHBUILD
            With this environment variable, you can specify an additional user
            profile  (file)  to  be  read  by  mhbuild,  in  addition  to  the
            mhn.defaults profile.

       $MHN
            With this environment variable, you can specify an additional user
            profile (file) to be read by mhn, in addition to the  mhn.defaults
            profile.   mhn  is  deprecated,  so this support for this variable
            will be removed from a future nmh release.

       $MHSHOW
            With this environment variable, you can specify an additional user
            profile   (file)  to  be  read  by  mhshow,  in  addition  to  the
            mhn.defaults profile.

       $MHSTORE
            With this environment variable, you can specify an additional user
            profile  (file)  to  be  read  by  mhstore,  in  addition  to  the
            mhn.defaults profile.

       $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).

       $NOMHNPROC
            If  this  variable  is set, show will next test for MIME messages.
            This mechanism is obsolete; use the -nocheckmime  switch  to  show
            instead.

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

       $MAILHOST
            This variable tells  inc  the  POP  host  to  query  for  mail  to
            incorporate.  See the inc(1) man page for more information.

       $USERNAME_EXTENSION
            This  variable  is  for  use with username_extension masquerading.
            See the mh-tailor(5) man page.

       $SIGNATURE
            This variable tells  send  and  post  your  mail  signature.  This
            supersedes the “Signature” profile entry, and is not used when the
            “Local-Mailbox” profile component is set.

       $USER
            This variable tells repl your  user  name  and  inc  your  default
            maildrop:  see the “MailDrop” profile entry.

       $HOME
            This variable tells all nmh programs your home directory

       $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.

       $MHMTSCONF
            If this variable is set to a non-null value, it specifies the name
            of  the mail transport configuration file to use by post, inc, and
            other programs that  interact  with  the  mail  transport  system,
            instead of the default.  See mh-tailor(5).

       $MHMTSUSERCONF
            If this variable is set to a non-null value, it specifies the name
            of a mail transport configuration file to be read in  addition  to
            the default.  See mh-tailor(5).

       $MHTMPDIR $TMPDIR $TMP
            These variables are searched, in order, for the directory in which
            to create some temporary files.

       $MM_NOASK
            Setting this  variable  is  set  to  1  has  the  same  effect  as
            specifying  the -nolist and -nopause switches to mhbuild, mhn, and
            mhshow.  OBSOLETE:  will be removed in a future version of nmh.

       $MHLDEBUG
            If this variable is  set  to  a  non-null  value,  mhl  will  emit
            debugging information.

       $MHPDEBUG
            If  this  variable  is  set  to a non-null value, pick will emit a
            representation of the search pattern.

       $MHPOPDEBUG
            If this variable is set to a non-null value, msgchck and inc  will
            display  their interaction with the POP server.  This mechanism is
            obsolete; use the -snoop switch instead.

       $MHWDEBUG
            If this variable is set to a non-null value, nmh commands that use
            the  Alternate-Mailboxes  profile  entry  will  display  debugging
            information about the values in that entry.

       $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.

       $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).

       $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.

       $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.

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)