1MH-PROFILE(5)                [nmh-1.2-20070115cvs]               MH-PROFILE(5)
2
3
4

NAME

6       mh-profile - user profile customization for nmh message handler
7

SYNOPSIS

9       $HOME/.mh_profile
10

DESCRIPTION

12       Each user of nmh is expected to have a file named .mh_profile in his or
13       her home directory.  This file contains a set of user  parameters  used
14       by  some  or all of the nmh family of programs.  Each entry in the file
15       is of the format
16
17            profile-component: value
18
19       If the text of profile entry is long, you may extend it across  several
20       real  lines  by indenting the continuation lines with leading spaces or
21       tabs.
22
23
24   Standard Profile Entries
25       The possible profile components are exemplified below.  The only manda‐
26       tory entry is `Path:'.  The others are optional; some have default val‐
27       ues if they are not present.  In the  notation  used  below,  (profile,
28       default)  indicates  whether  the information is kept in the user's nmh
29       profile or nmh context, and indicates what the default value is.
30
31       Path: Mail
32            Locates nmh transactions in directory “Mail”.  This  is  the  only
33            mandatory profile entry.  (profile, no default)
34
35       context: context
36            Declares the location of the nmh context file.  This is overridden
37            by the environment variable $MHCONTEXT.  See the  HISTORY  section
38            below.  (profile, default: <nmh-dir>/context)
39
40       Current-Folder: inbox
41            Keeps track of the current open folder.  (context, default: folder
42            specified by “Inbox”)
43
44       Inbox: inbox
45            Defines the name of your default inbox.  (profile, default: inbox)
46
47       Previous-Sequence: pseq
48            Names the sequence or sequences which should  be  defined  as  the
49            `msgs' or `msg' argument given to any nmh command.  If not present
50            or empty, no such sequences are defined.  Otherwise, for each name
51            given, the sequence is first zero'd and then each message is added
52            to the sequence.  Read the mh-sequence(5) man page for the details
53            about this sequence. (profile, no default)
54
55       Sequence-Negation: not
56            Defines  the  string  which,  when  prefixed  to  a sequence name,
57            negates that sequence.  Hence, “notseen” means all those  messages
58            that   are  not  a  member  of  the  sequence  “seen”.   Read  the
59            mh-sequence(5) man page for the details.  (profile, no default)
60
61       Unseen-Sequence: unseen
62            Names the sequence or sequences which should be defined  as  those
63            messages  which  are  unread.  The commands inc, rcvstore, mhshow,
64            and show will add or remove messages  from  these  sequences  when
65            they  are  incorporated or read.  If not present or empty, no such
66            sequences are defined.  Otherwise, each message is  added  to,  or
67            removed  from,  each sequence name given.  Read the mh-sequence(5)
68            man page for  the  details  about  this  sequence.   (profile,  no
69            default)
70
71       mh-sequences: .mh_sequences
72            The  name  of  the  file  in  each  folder  which  defines  public
73            sequences.  To disable the use  of  public  sequences,  leave  the
74            value   portion   of   this   entry   blank.   (profile,  default:
75            .mh_sequences)
76
77       atr-seq-folder: 172 178-181 212
78            Keeps track of the private sequence called “seq” in the  specified
79            folder.   Private sequences are generally used for read-only fold‐
80            ers.  See the mh-sequence(5) man page for  details  about  private
81            sequences.  (context, no default)
82
83       Editor: /usr/bin/vi
84            Defines  the  editor  to be used by the commands comp, dist, forw,
85            and repl.  (profile, default: /bin/vi)
86
87       automimeproc:
88            If defined and set to 1, then the whatnow program  will  automati‐
89            cally  invoke  the buildmimeproc (discussed below) to process each
90            message as a MIME composition draft before it is sent.   (profile,
91            no default)
92
93       Msg-Protect: 644
94            An  octal number which defines the permission bits for new message
95            files.  See chmod(1) for  an  explanation  of  the  octal  number.
96            (profile, default: 0644)
97
98       Folder-Protect: 750
99            An  octal  number which defines the permission bits for new folder
100            directories.  See chmod(1) for an explanation of the octal number.
101            (profile, default: 700)
102
103       program: default switches
104            Sets  default  switches to be used whenever the mh program program
105            is invoked.  For example, one could override the “Editor:” profile
106            component when replying to messages by adding a component such as:
107
108                 repl: -editor /bin/ed
109
110            (profile, no defaults)
111
112       lasteditor-next: nexteditor
113            Names  “nexteditor” to be the default editor after using “lastedi‐
114            tor”.  This takes effect at “What  now?”  prompt  in  comp,  dist,
115            forw,  and  repl.   After editing the draft with “lasteditor”, the
116            default editor is set to  be  “nexteditor”.   If  the  user  types
117            “edit”  without any arguments to “What now?”, then “nexteditor” is
118            used.  (profile, no default)
119
120       bboards: system
121            Tells bbc which BBoards you are interested in.  (profile, default:
122            system)
123
124       Folder-Stack: folders
125            The  contents  of  the folder-stack for the folder command.  (con‐
126            text, no default)
127
128       mhe:
129            If present, tells inc to compose an MHE auditfile in  addition  to
130            its  other  tasks.   MHE  is Brian Reid's emacs front-end for nmh.
131            (profile, no default)
132
133       Alternate-Mailboxes: mh@uci-750a, bug-mh*
134            Tells repl and scan which addresses are  really  yours.   In  this
135            way,  repl  knows which addresses should be included in the reply,
136            and  scan  knows  if  the  message  really  originated  from  you.
137            Addresses  must  be separated by a comma, and the hostnames listed
138            should be the “official” hostnames for the mailboxes you indicate,
139            as  local nicknames for hosts are not replaced with their official
140            site names.  For each address, if a host is not given,  then  that
141            address  on  any  host  is  considered to be you.  In addition, an
142            asterisk (`*') may appear at either or both ends  of  the  mailbox
143            and  host to indicate wild-card matching.  (profile, default: your
144            user-id)
145
146       Aliasfile: aliases other-alias
147            Indicates aliases files for ali, whom, and send.  This may be used
148            instead of the -alias file switch.  (profile, no default)
149
150       Draft-Folder: drafts
151            Indicates  a  default draft folder for comp, dist, forw, and repl.
152            Read the mh-draft(5) man page for details. (profile, no default)
153
154       digest-issue-list: 1
155            Tells forw the last issue of the last volume sent for  the  digest
156            list.  (context, no default)
157
158       digest-volume-list: 1
159            Tells forw the last volume sent for the digest list.  (context, no
160            default)
161
162       MailDrop: .mail
163            Tells inc your maildrop, if different from the default.   This  is
164            superseded  by  the  environment  variable  $MAILDROP.   (profile,
165            default: /var/mail/$USER)
166
167       Signature: RAND MH System (agent: Marshall Rose)
168            Tells send your mail signature.  This is superseded by  the  envi‐
169            ronment  variable  $SIGNATURE.   If $SIGNATURE is not set and this
170            profile entry is not present, the “gcos” field of the  /etc/passwd
171            file  will  be  used; otherwise, on hosts where nmh was configured
172            with the UCI option, the file $HOME/.signature is consulted.  Your
173            signature  will  be  added to the address send puts in the “From:”
174            header; do not include an address in the  signature  text.   (pro‐
175            file, no default)
176
177
178   Process Profile Entries
179       The following profile elements are used whenever an nmh program invokes
180       some other program such as more.  The .mh_profile can be used to select
181       alternate programs if the user wishes.  The default values are given in
182       the examples.
183
184       buildmimeproc: /usr/bin/mhbuild
185            This is the program used by whatnow to process  drafts  which  are
186            MIME composition files.
187
188       fileproc: /usr/bin/refile
189            This  program  is  used  to  refile  or  link a message to another
190            folder.  It is used by post to file a copy of  a  message  into  a
191            folder  given  by  a “Fcc:” field.  It is used by the draft folder
192            facility in comp, dist, forw, and repl to refile a  draft  message
193            into  another  folder.   It  is  used to refile a draft message in
194            response to the refile directive at the “What now?” prompt.
195
196       incproc: /usr/bin/inc
197            Program called by mhmail  to  incorporate  new  mail  when  it  is
198            invoked with no arguments.
199
200       installproc: /usr/libexec/nmh/install-mh
201            This program is called to initialize the environment for new users
202            of nmh.
203
204       lproc: /bin/more
205            This program is used to list the contents of a message in response
206            to  the list directive at the “What now?” prompt.  It is also used
207            by the draft folder facility in comp, dist, forw, and repl to dis‐
208            play the draft message.
209
210       mailproc: /usr/bin/mhmail
211            This  is  the  program used to automatically mail various messages
212            and notifications.  It is used by conflict when  using  the  -mail
213            option.   It  is used by send to post failure notices.  It is used
214            to retrieve an external-body with access-type `mail-server'  (such
215            as when storing the body with mhstore).
216
217       mhlproc: /usr/libexec/nmh/mhl
218            This  is  the program used to filter messages in various ways.  It
219            is used by mhshow to filter and display  the  message  headers  of
220            MIME messages.  When the -format or -filter option is used by forw
221            or repl, the mhlproc is used to filter the message  that  you  are
222            forwarding, or to which you are replying.  When the -filter option
223            is given to send or post, the mhlproc is used by  post  to  filter
224            the copy of the message that is sent to “Bcc:” recipients.
225
226       moreproc: /bin/more
227            This  is the program used by mhl to page the mhl formatted message
228            when displaying to a terminal.  It is  also  the  default  program
229            used  by  mhshow  to  display message bodies (or message parts) of
230            type text/plain.
231
232       mshproc: /usr/bin/msh
233            Currently not used.
234
235       packproc: /usr/bin/packf
236            Currently not used.
237
238       postproc: /usr/libexec/nmh/post
239            This is the program used by send,  mhmail,  rcvdist,  and  viamail
240            (used by the sendfiles shell script) to post a message to the mail
241            transport system.  It is also called  by  whom  (called  with  the
242            switches -whom and -library) to do address verification.
243
244       rmmproc: none
245            This  is  the  program  used by rmm and refile to delete a message
246            from a folder.
247
248       rmfproc: /usr/bin/rmf
249            Currently not used.
250
251       sendproc: /usr/bin/send
252            This is the program to use by whatnow to actually send the message
253
254       showmimeproc: /usr/bin/mhshow
255            This is the program used by show to process and  display  non-text
256            (MIME) messages.
257
258       showproc: /usr/libexec/nmh/mhl
259            This  is the program used by show to filter and display text (non-
260            MIME) messages.
261
262       whatnowproc: /usr/bin/whatnow
263            This is the program invoked by comp, forw, dist, and repl to query
264            about the disposition of a composed draft message.
265
266       whomproc: /usr/bin/whom
267            This is the program used by whatnow to determine to whom a message
268            would be sent.
269
270
271   Environment Variables
272       The operation of nmh and its commands it also controlled by  the  pres‐
273       ence of certain environment variables.
274
275       Many  of  these  environment variables are used internally by the “What
276       now?” interface.  It's amazing all the  information  that  has  to  get
277       passed via environment variables to make the “What now?” interface look
278       squeaky clean to the nmh user, isn't it?  The reason for  all  this  is
279       that  the nmh user can select any program as the whatnowproc, including
280       one of the standard shells.  As a result, it's  not  possible  to  pass
281       information  via  an  argument list. The convention is that environment
282       variables whose names are all upper-case are user-settable; those whose
283       names  are  lower-case  only  are used internally by nmh and should not
284       generally be set by the user.
285
286       If the WHATNOW option was set during nmh  configuration,  and  if  this
287       environment  variable is set, then if the commands refile , send, show,
288       or whom are not given any `msgs' arguments, then they will  default  to
289       using  the  file  indicated by mh-draft(5).  This is useful for getting
290       the default behavior supplied by the default whatnowproc.
291
292       $MH
293            With this environment variable, you can specify  a  profile  other
294            than  .mh_profile  to be read by the nmh programs that you invoke.
295            If the value of $MH is not absolute, (i.e., does not begin with  a
296            “/”), it will be presumed to start from the current working direc‐
297            tory.  This is one of the very few exceptions in  nmh  where  non-
298            absolute  pathnames  are not considered relative to the user's nmh
299            directory.
300
301       $MHCONTEXT
302            With this environment variable, you can specify  a  context  other
303            than  the  normal  context file (as specified in the nmh profile).
304            As always, unless the value of $MHCONTEXT is absolute, it will  be
305            presumed to start from your nmh directory.
306
307       $MM_CHARSET
308            With this environment variable, you can specify the native charac‐
309            ter set you are using.  You must be able to display this character
310            set on your terminal.
311
312            This  variable is checked to see if a RFC-2047 header field should
313            be decoded (in inc, scan, mhl).  This variable is checked by  show
314            to  see  if  the  showproc or showmimeproc should be called, since
315            showmimeproc will be called if a text message uses a character set
316            that  doesn't  match  $MM_CHARSET.   This  variable  is checked by
317            mhshow for matches against the charset parameter of text  contents
318            to  decide  it the text content can be displayed without modifica‐
319            tions to your terminal.  This variable is checked  by  mhbuild  to
320            decide  what  character set to specify in the charset parameter of
321            text contents containing 8-bit characters.
322
323            When decoding text in such an alternate character set, nmh must be
324            able  to determine which characters are alphabetic, which are con‐
325            trol characters, etc.   For  many  operating  systems,  this  will
326            require  enabling  the  support  for  locales (such as setting the
327            environment variable $LC_CTYPE to iso_8859_1).
328
329       $MAILDROP
330            This variable tells inc the default maildrop. This supersedes  the
331            “MailDrop” profile entry.
332
333       $SIGNATURE
334            This variable tells send and post your mail signature. This super‐
335            sedes the “Signature” profile entry.
336
337       $HOME
338            This variable tells all nmh programs your home directory
339
340       $SHELL
341            This variable tells bbl the default shell to run
342
343       $TERM
344            This variable tells nmh your terminal type.
345
346            The environment variable $TERMCAP is also consulted.  In  particu‐
347            lar,  these  tell scan and mhl how to clear your terminal, and how
348            many columns wide your terminal is.  They also tell mhl  how  many
349            lines long your terminal screen is.
350
351       $editalt
352            This is the alternate message.
353
354            This  is  set  by  dist  and  repl during edit sessions so you can
355            peruse the message being distributed or replied to.   The  message
356            is  also available through a link called “@” in the current direc‐
357            tory if your current working directory and the folder the  message
358            lives in are on the same UNIX filesystem.
359
360       $mhdraft
361            This is the path to the working draft.
362
363            This  is set by comp, dist, forw, and repl to tell the whatnowproc
364            which file to ask “What now?”  questions about.
365
366       $mhfolder
367            This is set by dist, forw, and repl, if appropriate.
368
369       $mhaltmsg
370            dist and repl set $mhaltmsg  to  tell  the  whatnowproc  about  an
371            alternate  message  associated  with  the draft (the message being
372            distributed or replied to).
373
374       $mhdist
375            dist sets $mhdist to tell the whatnowproc that message  re-distri‐
376            bution is occurring.
377
378       $mheditor
379            This  is set by comp, repl, forw, and dist to tell the whatnowproc
380            the user's choice of editor (unless overridden by -noedit).
381
382       $mhuse
383            This may be set by comp.
384
385       $mhmessages
386            This is set by dist, forw, and repl if annotations are to occur.
387
388       $mhannotate
389            This is set by dist, forw, and repl if annotations are to occur.
390
391       $mhinplace
392            This is set by dist, forw, and repl if annotations are to occur.
393
394       $mhfolder
395            This is the folder containing the alternate message.
396
397            This is set by dist and repl  during  edit  sessions  so  you  can
398            peruse  other messages in the current folder besides the one being
399            distributed or replied to.  The environment variable $mhfolder  is
400            also set by show, prev, and next for use by mhl.
401
402

FILES

404       $HOME/.mh_profile          The user profile
405       or $MH                     Rather than the standard profile
406       <mh-dir>/context           The user context
407       or $MHCONTEXT              Rather than the standard context
408       <folder>/.mh_sequences     Public sequences for <folder>
409
410

SEE ALSO

412       nmh(1), environ(5), mh-sequence(5)
413
414

HISTORY

416       The  .mh_profile  contains  only static information, which nmh programs
417       will NOT update.  Changes in context are made to the context file  kept
418       in  the users nmh directory.  This includes, but is not limited to: the
419       “Current-Folder” entry and all private  sequence  information.   Public
420       sequence  information  is kept in each folder in the file determined by
421       the “mh-sequences” profile entry (default is .mh_sequences).
422
423       The .mh_profile may override the path of the context file, by  specify‐
424       ing  a  “context”  entry (this must be in lower-case).  If the entry is
425       not absolute (does not start with a “/”), then it is interpreted  rela‐
426       tive  to  the user's nmh directory.  As a result, you can actually have
427       more than one set of  private  sequences  by  using  different  context
428       files.
429
430

BUGS

432       The  shell  quoting  conventions  are not available in the .mh_profile.
433       Each token is separated by whitespace.
434
435       There is some question as to what kind of arguments should be placed in
436       the  profile  as  options.   In order to provide a clear answer, recall
437       command line semantics of all nmh programs: conflicting switches  (e.g.
438       -header  and  -noheader)  may  occur  more than one time on the command
439       line, with the last switch taking effect.   Other  arguments,  such  as
440       message  sequences, filenames and folders, are always remembered on the
441       invocation line and are not superseded by following  arguments  of  the
442       same  type.   Hence, it is safe to place only switches (and their argu‐
443       ments) in the profile.
444
445       If one finds that an nmh program is being invoked again and again  with
446       the same arguments, and those arguments aren't switches, then there are
447       a few possible solutions to this problem.  The first  is  to  create  a
448       (soft)  link  in  your  $HOME/bin  directory to the nmh program of your
449       choice.  By giving this link a different name, you  can  create  a  new
450       entry  in your profile and use an alternate set of defaults for the nmh
451       command.  Similarly, you could create a small shell script which called
452       the nmh program of your choice with an alternate set of invocation line
453       switches (using links and an alternate profile entry is  preferable  to
454       this solution).
455
456       Finally,  the  csh  user  could  create an alias for the command of the
457       form:
458
459            alias cmd 'cmd arg1 arg2 ...'
460
461       In this way, the user can avoid lengthy type-in to the shell, and still
462       give  nmh  commands safely.  (Recall that some nmh commands invoke oth‐
463       ers, and that in all cases, the profile is read, meaning  that  aliases
464       are disregarded beyond an initial command invocation)
465
466
467
468MH.6.8                            1 Jul 2003                     MH-PROFILE(5)
Impressum