phpMan > info > mh-profile(5)

Markdown | JSON | MCP    

MH-PROFILE(5mh)                                                MH-PROFILE(5mh)

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 sev-
       eral 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 conven-
       tions are not available; each token is separated by whitespace.

   Standard Profile Entries
       The possible profile components are exemplified below.  The only manda-
       tory entry is `Path:'.  The others are optional; some have default val-
       ues if they are not present.  In the notation used below, (profile, de-
       fault) indicates whether the information is kept in the user's nmh pro-
       file 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  ig-
       nored.

       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  "EN-
            VIRONMENT"  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  over-
            ridden  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-se-
            quence(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 de-
            fault)

       mh-sequences: .mh-sequences
            The name of the file in  each  folder  which  defines  public  se-
            quences.   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 fold-
            ers.  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 "lastedi-
            tor".  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.   (con-
            text, no default)

       Local-Mailbox: Your Username <user AT 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  al-
            ready 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 AT 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 ad-
            dress on any host is considered to be you.  In addition, an aster-
            isk  (`*')  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, de-
            fault: /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 en-
            try 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  re-
            trieved 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:netrc" credentials 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 authentica-
            tion 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:netrc" credentials entry is identical in be-
            havior 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 "dis-
            able",  a welcome message will be displayed the first time that an
            interactive nmh program is run after updating  the  nmh  installa-
            tion.  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  se-
       lect  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 ex-
       ecvp(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  re-
            sponse 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  in-
            formation.

       incproc: /usr/bin/mh/inc
            Program  called  by  mhmail to incorporate new mail when it is in-
            voked 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 dis-
            play 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 super-
            sedes 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 sys-
       tem-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  specify-
       ing  a  "context"  entry (this must be in lower-case).  If the entry is
       not absolute (does not start with a "/"), then it is interpreted  rela-
       tive  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 pres-
       ence 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 in-
       formation 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 incor-
              porate.  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 di-
              rectory.  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 de-
              bugging 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  addi-
              tion 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 de-
              fault built-in pager command.

       SIGNATURE
              This variable tells send and post your mail signature.  This su-
              persedes 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 dis-
              tributed 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  al-
              ternate  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-distri-
              bution 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 whatnow-
              proc 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 argu-
       ments) 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 en-
       try  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 oth-
       ers, and that in all cases, the profile is read, meaning  that  aliases
       are disregarded beyond an initial command invocation)

nmh-1.7.1                         2016-10-19                   MH-PROFILE(5mh)

Generated by phpMan v3.6.3-2-gc817beb Author: Che Dong Under GNU General Public License
2026-06-08 09:23 @216.73.217.65
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top