MH-PROFILE(5)

MH-PROFILE(5)

mh-mail Home Page File Formats Index mh-sequence


NAME
       mh-profile  -  user  profile customization for nmh message
       handler

SYNOPSIS
       .mh_profile

DESCRIPTION
       Each user of nmh is expected to have a file named .mh_pro-
       file  in  his or her home directory.  This file contains a
       set of user parameters used by some or all of the nmh fam-
       ily of programs.  Each entry in the file is of the format

           profile-component: value

       If  the  text  of profile entry is long, you may extend it
       across several real lines by  indenting  the  continuation
       lines with leading spaces or tabs.

   Standard Profile Entries
       The  possible  profile  components  are exemplified below.
       The only mandatory  entry  is  `Path:'.   The  others  are
       optional;  some  have  default values if they are not pre-
       sent.  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.  (pro-
                 file, 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.   (con-
                 text, default: folder specified by "Inbox")

       Inbox: inbox
                 Defines  the  name of your default inbox.  (pro-
                 file, 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.  (pro-
                 file, no default)

       Unseen-Sequence: unseen
                 Names the sequence or sequences which should  be
                 defined as those messages which are unread.  The
                 commands inc, rcvstore, 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.  Other-
                 wise, 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  pri-
                 vate sequences.  (context, no default)

       Editor: /usr/bin/vi
                 Defines  the  editor  to be used by the commands
                 comp (1),  dist (1),  forw (1),  and   repl (1).
                 (profile, default: /bin/vi)

       automimeproc:
                 If  defined  and set to 1, then the whatnow pro-
                 gram will automatically invoke the buildmimeproc
                 (discussed  below)  to process each message as a
                 MIME composition draft before it is sent.  (pro-
                 file, no default)

       Msg-Protect: 644
                 An  octal  number  which  defines the permission
                 bits for new message files.  See  chmod (1)  for
                 an  explanation  of the octal number.  (profile,
                 default: 0644)

       Folder-Protect: 700
                 An octal number  which  defines  the  permission
                 bits  for new folder directories.  See chmod (1)
                 for an explanation of the octal  number.   (pro-
                 file, default: 0700)

       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  "lastedi-
                 tor",  the default editor is set to be "nextedi-
                 tor".  If the  user  types  "edit"  without  any
                 arguments  to  "What now?", then "nexteditor" is
                 used.  (profile, no default)

       bboards: system
                 Tells bbc which BBoards you are  interested  in.
                 (profile, default: system)

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

       mhe:
                 If present, tells inc to compose an  MHE  audit-
                 file  in  addition  to  its other tasks.  MHE is
                 Brian Reid's Emacs front-end for nmh.  (profile,
                 no default)

       Alternate-Mailboxes: mh@uci-750a, bug-mh*
                 Tells  repl  and scan which addresses are really
                 yours.  In this way, repl knows which  addresses
                 should  be included in the reply, and scan knows
                 if  the  message  really  originated  from  you.
                 Addresses  must be separated by a comma, and the
                 hostnames listed should be the "official"  host-
                 names  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 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-alias
                 Indicates aliases files for ali, whom, and send.
                 This  may  be  used instead of the `-alias file'
                 switch.  (profile, no default)

       Draft-Folder: drafts
                 Indicates a default draft folder for comp, dist,
                 forw,  and repl.  Read the mh-draft (5) man page
                 for details.  (profile, no default)

       digest-issue-list: 1
                 Tells forw the last issue  of  the  last  volume
                 sent for the digest list.  (context, no default)

       digest-volume-list: 1
                 Tells forw the last volume sent for  the  digest
                 list.  (context, no default)

       MailDrop: .mail
                 Tells  inc  your maildrop, if different from the
                 default.  This is superceded by the  environment
                 variable     MAILDROP.     (profile,    default:
                 /var/spool/mail/$USER)

       Signature: RAND MH System (agent: Marshall Rose)
                 Tells  send  your  mail  signature.    This   is
                 superceded  by  the  environment variable SIGNA-
                 TURE.  If SIGNATURE is not set and this  profile
                 entry  is  not  present, the "gcos" field of the
                 /etc/passwd file will  be  used;  otherwise,  on
                 hosts  where  nmh  was  configured  with the UCI
                 option, the file $HOME/.signature is  consulted.
                 Your signature will be added to the address send
                 puts in the "From:" header; do  not  include  an
                 address  in  the  signature  text.  (profile, no
                 default)

   Process Profile Entries
       The following profile elements are used  whenever  an  nmh
       program  invokes some other program such as more (1).  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/mhbuild
                 This is the program used by whatnow  to  process
                 drafts which are MIME composition files.

       fileproc: /usr/bin/refile
                 This program is used to refile or link a message
                 to another folder.  It is used by post to file a
                 copy  of  a  message  into  a  folder given by a
                 "Fcc:" field.  It is used by  the  draft  folder
                 facility in comp, dist, forw, and repl to refile
                 a draft message into another folder.  It is used
                 to  refile  a  draft  message in response to the
                 `refile' directive at the "What now?" prompt.

       incproc: /usr/bin/inc
                 Program called by mhmail to incorporate new mail
                 when it is invoked with no arguments.

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

       lproc: /bin/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.

       mailproc: /usr/bin/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 by mhn to retrieve  an  external-body  with
                 access-type `mail-server'.

       mhlproc: /usr/lib/nmh/mhl
                 This  is  the program used to filter messages in
                 various ways.  It is used by mhn to  filter  and
                 display  the  message  headers of MIME messages.
                 When the `-format' or `-filter' option  is  used
                 by  forw  or repl, the mhlproc is used to filter
                 the message that you are forwarding, or to which
                 you  are replying.  When the `-filter' option is
                 given to send or post, the mhlproc  is  used  by
                 post  to  filter the copy of the message that is
                 sent to "Bcc:" recipients.

       moreproc: /bin/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  mhn  to
                 display  message  bodies  (or  message parts) of
                 type text/plain.

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

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

       postproc: /usr/lib/nmh/post
                 This  is  the  program  used  by  send,  mhmail,
                 rcvdist, and mhn (when using `-viamail') 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  verifica-
                 tion.

       rmmproc: none
                 This  is  the  program used by rmm and refile to
                 delete a message from a folder.

       rmfproc: /usr/bin/rmf
                 Currently not used.

       sendproc: /usr/bin/send
                 This is the program to use by whatnow  to  actu-
                 ally send the message

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

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

       whatnowproc: /usr/bin/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/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.

       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 direc-
            tory.  This is one of the very few exceptions in  nmh
            where non-absolute pathnames are not considered rela-
            tive to the user's nmh directory.

       MHCONTEXT : With this environment variable, you can  spec-
            ify  a context other than the normal context file (as

            specified in the nmh profile).  As always, unless the
            value  of  MHCONTEXT is absolute, it will be presumed
            to start from your nmh directory.

       MM_CHARSET : With  this  envrironment  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 mhn for matches against
            the charset parameter of text contents to  decide  it
            the  text  content can be displayed without modifica-
            tions to your terminal.  This variable is checked  by
            mhbuild  to  decide  what character set to specify in
            the charset parameter  of  text  contents  containing
            8bit characters.

       MAILDROP : tells inc the default maildrop
            This supercedes the "MailDrop:" profile entry.

       SIGNATURE : tells send and post your mail signature
            This supercedes the "Signature:" profile entry.

       HOME : tells all nmh programs your home directory

       SHELL : tells bbl the default shell to run

       TERM : 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 termi-
            nal is.  They also tell mhl how many lines long  your
            terminal screen is.

       editalt : 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 cur-
            rent  working  directory  and  the folder the message
            lives in are on the same UNIX filesystem.

       mhdraft : 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.   In  addition,  dist,  forw,  and  repl   set
            mhfolder  if appropriate.  Further, dist and repl set
            mhaltmsg to tell the whatnowproc about  an  alternate
            message  associated with the draft (the message being
            distributed or replied to), and dist sets  mhdist  to

            tell  the whatnowproc that message re-distribution is
            occurring.  Also, mheditor is set to tell  the  what-
            nowproc  the user's choice of editor (unless overrid-
            den by `-noedit').  Similarly, mhuse may  be  set  by
            comp.   Finally, mhmessages is set by dist, forw, and
            repl if annotations are to occur (along with  mhanno-
            tate,  and mhinplace).  It's amazing all the informa-
            tion 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.
            If the WHATNOW option was set during  nmh  configura-
            tion  (type  `-help'  to an nmh command to find out),
            and if this environment variable is set, if the  com-
            mands  refile,  send, show, or whom are not given any
            `msgs' arguments, then they will default to using the
            file  indicated  by mhdraft.  This is useful for get-
            ting the default behavior  supplied  by  the  default
            whatnowproc.

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

       MHBBRC :
            If  you  define  the environment variable MHBBRC, you
            can specify a BBoards  information  file  other  than
            .bbrc  to  be read by bbc.  If the value of MHBBRC is
            not absolute, (i.e., does not begin with  a  / ),  it
            will  be  presumed  to start from the current working
            directory.

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>

PROFILE COMPONENTS
       All

SEE ALSO
       mh(1) environ(5) mh-sequence(5) 

DEFAULTS
       None

CONTEXT
       All

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 argu-
       ments, 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 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 com-
       mand 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)

mh-mail Home Page File Formats Index mh-sequence