Provided by: nmh_1.7.1-12_amd64 bug

NAME

       mh-profile - user customization for nmh message handler

DESCRIPTION

       Each  user  of  nmh  is expected to have a file named .mh-profile in their home directory.
       This file contains a set of user parameters used by the  nmh  family  of  programs.   Each
       entry in the file is of the format

            profile-component: value

       If  the  text  of  a 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.   Shell  quoting  conventions  are not
       available; each token is separated by whitespace.

   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.  Note that
       a profile component can only appear once.  Multiple appearances  will  trigger  a  warning
       that all appearances after the first are ignored.

       Some MH programs, including mhbuild, mhshow, and mhstore, have specific profile components
       that are described in their respective man pages.  Each component name specific  to  these
       programs begins with the name of the program and is followed by a dash.

       Path: Mail
            Locates  nmh  transactions  in  directory “Mail”.  This is the only mandatory profile
            entry.  (profile, no default)

       locale: locale
            Set the locale for all nmh programs except post, install-mh,  and  slocal.   See  the
            LC_ALL,  LC_CTYPE,  and  LANG  variables  in  the  "ENVIRONMENT"  section below for a
            reference on how the locale is set if this profile component is not used.

       context: context
            Declares the location of the nmh  context  file.   This  can  be  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 the 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 zeroed 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: vi
            Defines the editor to be used by the commands comp, dist, forw,  and  repl.   If  not
            set,  the  value  will  be  taken  from  the VISUAL and EDITOR environment variables.
            (profile, default: vi)

       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.  Note that some filesystems, such as
            FAT32, do not support removal of read file permissions.  (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)

       datalocking: fcntl
            The  locking  algorithm used to lock changes to any nmh data files, such as sequences
            or context.  The locking algorithm is any one of the following entries:

                 fcntl dot flock lockf

            Available locking algorithms can vary  depending  on  the  operating  system.   Note:
            currently,   transactional  locking  is  only  supported  on  public  sequences;  see
            mh-sequence(5) for more information.  (profile, default: fcntl)

       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  the  “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 MH programs what your local mailbox is.  If set, it will  be  used  by  the
            default  component  files  by  programs  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 additional addresses are yours.  In this way, repl knows
            which addresses should be included  in  the  reply,  and  scan  knows  if  a  message
            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-aliases
            Indicates alias 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 mail drop, 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
            not  to  be  confused  with  a  .signature  that might be appended to mails.) 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)

       credentials: legacy
            Indicates how the username and password credentials will be retrieved for  access  to
            external  servers,  such  as  those  that provide SMTP or POP service.  The supported
            entry  values  are  “legacy”,  “file:netrc”,  and   “file-nopermcheck:netrc”.    With
            “legacy”, or if there is no credentials entry, the username is the first of:

                 1)   -user switch to inc, msgchk, post, send, or whom program
                 2)   the login name on the local machine

            The password for SMTP services is the first of:

                 1)   password  value  from  matching  entry in file named “.netrc” in the user's
                      home directory
                 2)   password obtained by interactively prompting the user

            The password for POP service when the -sasl switch is used with one of these programs
            is the login name on the local machine.

            With a “file:netrccredentials entry, the username is the first of:
                 1)   -user switch to program
                 2)   login name from matching entry in netrc file
                 3)   value provided by user in response to interactive query

            Similarly, the password is provided either in the netrc file or interactively.  netrc
            can be any valid filename, either absolute or relative to Path or $HOME.   The  netrc
            file  contains  authentication  information,  for  each  server,  using a line of the
            following form.  (Replace myserver, mylogin, and mypassword  with  your  own  account
            information.)

                 machine myserver login mylogin password mypassword

            This netrc file must be owned and readable only by you.

            The “file-nopermcheck:netrccredentials entry is identical in behavior to the “file”
            entry, with the  exception  that  the  permission  checks  done  by  “file”  are  not
            performed.   This  entry  should  be  used  with  caution  and  only  when absolutely
            necessary.  (profile, default: legacy)

       Welcome: disable
            If the Welcome component is not present, or its value is  not  “disable”,  a  welcome
            message will be displayed the first time that an interactive nmh program is run after
            updating the nmh installation.  The user must press the Enter key to continue.

            If the MHCONTEXT environment variable is set and non-empty (and the Welcome component
            is not “disable”), the welcome message is only displayed if the context file contains
            a version reference, and that reference is older than the installed nmh version.  The
            version reference is of the form:

                 Version: nmh-1.7.1

   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.

       If  the  profile  element  contains spaces, the element is split at spaces into tokens and
       each token is given as a separate argument to the execvp(2) system call.  If  the  element
       contains shell metacharacters then the entire element is executed using /bin/sh.

       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.

       lproc: 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.  (Note that the  environment
            variable PAGER supersedes the default built-in pager command.)

       mailproc: /usr/bin/mh/mhmail
            This  is  the  program used to automatically mail various messages and notifications.
            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: 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 display message bodies
            (or message parts) of type text/plain.  (Note that  the  environment  variable  PAGER
            supersedes the default built-in pager command.)

       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, refile, and mhfixmsg to delete a message from a
            folder.

       sendproc: /usr/bin/mh/send
            This is the program used 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,  dist,  forw,  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.

   Profile Lookup
       After  consulting  .mh_profile,  some  programs  read  an  optional profile specified by a
       program-specific   environment   variable,    and    then    the    system-wide    profile
       /etc/nmh/mhn.defaults.  These programs are mhbuild, mhshow, mhstore, and mhn.  mhfixmsg is
       similar, but has no optional profile.

       The first occurrence of a component is  used,  e.g.  .mh_profile's  trumps  $MHSHOW's.   A
       component  with  no  value  still  stops further occurrences being used, but is considered
       absent.

       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.

ENVIRONMENT

       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.

       LC_ALL, LC_CTYPE, and LANG
              These  variables  are  used to set the locale, see locale(1).  The “locale” profile
              entry supersedes these.

       MAILDROP
              This variable tells inc the default mail  drop.   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.

       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.

       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.

       MHCONTEXT
              With  this  environment  variable,  you can specify a context other than the normal
              context file (as specified in the nmh profile).  As  usual,  unless  the  value  of
              MHCONTEXT is absolute, it will be presumed to start from your nmh directory.

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

       MHMTSCONF
              If  this  variable  is  set  to a non-null value, it specifies the name of the mail
              transport configuration file to use by inc, post, 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).

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

       MHPDEBUG
              If this variable is set to a non-null value, pick will emit a representation of the
              search pattern.  MHPDEBUG is deprecated, so  support  for  this  variable  will  be
              removed from a future nmh release.  Instead, pick now supports a -debug switch.

       MHTMPDIR, TMPDIR
              These  variables  are searched, in order, for the directory in which to create some
              temporary files.  MHTMPDIR is deprecated and will be removed in a future release of
              nmh.

       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.

       PAGER  If set to a non-null value, this supersedes the value of the default built-in pager
              command.

       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 mail  drop:   see  the
              “MailDrop” profile entry.

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

       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, when the -atfile switch is used,  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, and if your current working directory  is
              writable.

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

       mhannotate
              This is set by dist, forw, and repl if annotations are to occur.

       mhdist dist sets mhdist to tell the whatnowproc that message re-distribution is occurring.

       mhdraft
              This is the path to the working draft.  It is set by comp, dist, forw, and repl  to
              tell the whatnowproc which file to ask “What now?” questions about.

       mheditor
              This is set by comp, repl, forw, and dist to tell the whatnowproc the user's choice
              of editor (unless overridden by -noedit).

       mhfolder
              This is the folder containing the alternate message.  It 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 next, prev, and show for use by mhl.

       mhinplace
              This is set by dist, forw, and repl if annotations are to occur.

       mhmessages
              This is set by dist, forw, and repl if annotations are to occur.

       mhuse  This may be set by comp.

FILES

       $HOME/.mh-profile   The user's profile.
       <mh-dir>/context    The user's context
       <folder>/.mh-sequences
                           Public sequences for <folder>.

SEE ALSO

       mhbuild(1), mhshow(1), mhstore(1), mh-sequence(5), nmh(7)

BUGS

       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 the 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)