Provided by: nmh_1.5-release-5_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.  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)