+.TH MH-PROFILE %manext5% "April 14, 2013" "%nmhversion%"
.\"
.\" %nmhwarning%
.\"
-.TH MH-PROFILE %manext5% "%nmhdate%" MH.6.8 [%nmhversion%]
.SH NAME
mh-profile \- user profile customization for nmh message handler
-.SH SYNOPSIS
-.I $HOME/.mh\(ruprofile
.SH DESCRIPTION
Each user of
.B nmh
.PP
Blank lines are not permitted in
.IR \&.mh\(ruprofile.
-
+The shell quoting conventions are not available in the
+.IR \&.mh\(ruprofile ;
+each token is separated by whitespace.
.SS "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
.B nmh
profile or
.B nmh
-context, and indicates what the default value is.
+context, and indicates what the default value is. Note that a profile
+component can only appear once. Multiple appearances with trigger a
+warning that all appearances after the first are ignored.
.PP
.BR Path :
Mail
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
-.BR mh\-sequence (5)
+.IR mh\-sequence (5)
man page for the details about this sequence. (profile, no default)
.RE
.PP
Defines the string which, when prefixed to a sequence name, negates
that sequence. Hence, \*(lqnotseen\*(rq means all those messages that
are not a member of the sequence \*(lqseen\*(rq. Read the
-.BR mh\-sequence (5)
+.IR mh\-sequence (5)
man page for the details. (profile, no default)
.RE
.PP
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
-.BR mh\-sequence (5)
+.IR mh\-sequence (5)
man page for the details about this sequence.
(profile, no default)
.RE
Keeps track of the private sequence called \*(lqseq\*(rq in the specified
folder. Private sequences are generally used for read\-only folders.
See the
-.BR mh\-sequence (5)
+.IR mh\-sequence (5)
man page for details about private sequences.
(context, no default)
.RE
.PP
.BR Editor :
-/usr/bin/vi
+vi
.RS 5
Defines the editor to be used by the commands
.BR comp ,
.BR forw ,
and
.BR repl .
-(profile, default: %default_editor%)
-.RE
-.PP
-.BR automimeproc :
-.RS 5
-If defined and set to 1, then the
-.B whatnow
-program will automatically
-invoke the buildmimeproc (discussed below) to process each message as a MIME
-composition draft before it is sent.
-(profile, no default)
+If not set in profile the value will be taken from the VISUAL and
+EDITOR environment variables.
+(profile, default: vi)
.RE
.PP
.BR Msg\-Protect :
.RS 5
An octal number which defines the permission bits for new message files.
See
-.BR chmod (1)
-for an explanation of the octal number.
+.IR 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)
.RE
.PP
.RS 5
An octal number which defines the permission bits for new folder
directories. See
-.BR chmod (1)
+.IR chmod (1)
for an explanation of the octal number.
(profile, default: 700)
.RE
.PP
+.BR datalocking :
+fcntl
+.RS 5
+The locking algorithm used to lock changes to any
+.B nmh
+data files, such as sequences or the context. The locking algorithm is
+any one of the following entries:
+.PP
+.RS 5
+.nf
+%supported_locks%
+.fi
+.RE
+.PP
+Available locking algorithms can vary depending on what is supported by
+the operating system. Note: currently transactional locking is only
+supported on public sequences; see
+.IR mh\-sequence (5)
+for more information.
+(profile, default: fcntl)
+.RE
+.PP
.IR program :
.I default switches
.RS 5
and
.B repl
to construct your default \*(lqFrom\*(rq header. The text used here will
-be copied exactly to your From: header, so it should already be RFC-822
+be copied exactly to your From: header, so it should already be RFC 822
compliant. If this is set, the
.B Signature
profile entry is NOT used, so it should include a signature as well. (profile,
and
.BR repl .
Read the
-.BR mh\-draft (5)
+.IR mh\-draft (5)
man page for details. (profile, no default)
.RE
.PP
.BR Signature :
RAND MH System (agent: Marshall Rose)
.RS 5
-Tells
-.B send
+Tells front-end programs such as
+.BR comp,
+.BR forw,
+and
+.B repl
your mail signature. This is superseded by the
environment variable
.BR $SIGNATURE .
Your signature will be added to the address
.B send
puts in the \*(lqFrom:\*(rq header; do not include an address in the
-signature text. (profile, no default)
+signature text. The \*(lqLocal\-Mailbox\*(rq profile component
+supersedes all of this. (profile, no default)
+.RE
+.PP
+.BR credentials :
+\&legacy
+.RS 5
+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 \*(lqlegacy\*(rq and
+.RI \*(lqfile: netrc \*(rq.
+With \*(lqlegacy\*(rq, or if there is no credentials entry, the
+username is the first of:
+.PP
+.RS 5
+1)
+.B \-user
+switch to
+.BR send ,
+.BR post ,
+.BR whom ,
+.BR inc ,
+or
+.B msgchk
+program
+.br
+2) the login name on the local machine
+.RE
+.PP
+The password for SMTP services is the first of:
+.PP
+.RS 5
+1) password value from matching entry in file named \*(lq.netrc\*(rq
+in the user's home directory
+.br
+2) password obtained by interactively prompting the user
+.RE
+.PP
+The password for POP service when the
+.B \-sasl
+switch is used with one of these programs is the login name on the
+local machine.
+.PP
+With a
+.RI \*(lqfile: netrc \*(rq
+.B credentials
+entry, the username is the first of:
+.PP
+.RS 5
+1)
+.B \-user
+switch to program
+.br
+2) login name from matching entry in
+.I netrc
+file
+.br
+3) value provided by user in response to interactive query
+.RE
+.PP
+Similarly, the password is provided either in the
+.I netrc
+file or interactively.
+.I netrc
+can be any valid filename, either absolute or relative to Path or
+$HOME. The
+.I netrc
+file contains authentication information, for each server,
+using a line of the following form. Replace the words
+.IR myserver ,
+.IR mylogin ,
+and
+.I mypassword
+with your own account information:
+.PP
+.RS 5
+.B machine
+.I myserver
+.B login
+.I mylogin
+.B password
+.I mypassword
+.RE
+.PP
+This
+.I netrc
+file must be owned and readable only by you.
+(profile, default: legacy)
.RE
-
.SS "Process Profile Entries"
The following profile elements are used whenever an
.B nmh
.I \&.mh\(ruprofile
can be used to select alternate programs if the
user wishes. The default values are given in the examples.
+.PP
+If the profile element contains spaces, the element is split at spaces
+into tokens and each token is given as a seperate argument to the
+.IR execvp (2)
+system call. If the element contains shell metacharacters then the entire
+element is executed using
+.BR /bin/sh .
.RE
.PP
.BR buildmimeproc :
.B mhl
to filter a component when it is tagged with the \*(lqformat\*(rq variable
in the mhl filter. See
-.BR mhl (5)
+.IR mhl (5)
for more information.
.RE
.PP
is invoked with no arguments.
.RE
.PP
-.BR installproc :
-%libdir%/install\-mh
-.RS 5
-This program is called to initialize the environment for
-new users of
-.BR nmh .
-.RE
-.PP
.BR lproc :
-%default_pager%
+more
.RS 5
This program is used to list the contents of a message in response
to the
and
.B repl
to display the draft message.
+(Note that
+.B $PAGER
+supersedes the default built-in pager command.)
.RE
.PP
.BR mailproc :
.RE
.PP
.BR moreproc :
-%default_pager%
+more
.RS 5
This is the program used by
.B mhl
program used by
.B mhshow
to display message bodies (or message parts) of type text/plain.
+(Note that
+.B $PAGER
+supersedes the default built-in pager command.)
.RE
.PP
.BR mshproc :
none
.RS 5
This is the program used by
-.B rmm
+.BR rmm ,
+.BR refile ,
and
-.B refile
+.B mhfixmsg
to delete a message from a folder.
.RE
.PP
.B whatnow
to determine to whom a message would be sent.
.RE
-
.SS "Environment Variables"
The operation of
.B nmh
in addition to the mhn.defaults profile.
.RE
.PP
-.B $MM_CHARSET
-.RS 5
-With this environment variable, you can specify
-the native character set you are using. You must be able to display
-this character set on your terminal.
-.PP
-This variable is checked to see if a RFC-2047 header field should be
-decoded (in
-.BR inc ,
-.BR scan ,
-.BR mhl ).
-This variable is
-checked by
-.B show
-to see if the
-.I showproc
-or
-.I showmimeproc
-should
-be called, since showmimeproc will be called if a text message uses
-a character set that doesn't match
-.BR $MM_CHARSET .
-This variable is
-checked by
-.B mhshow
-for matches against the charset parameter
-of text contents to decide it the text content can be displayed
-without modifications to your terminal. This variable is checked by
-.B mhbuild
-to decide what character set to specify in the charset
-parameter of text contents containing 8\-bit characters.
-.PP
-When decoding text in such an alternate character set,
-.B nmh
-must be able to determine which characters are alphabetic, which
-are control characters, etc. For many operating systems, this
-will require enabling the support for locales (such as setting
-the environment variable
-.B $LC_CTYPE
-to iso_8859_1).
-.RE
-.PP
-.B $NOMHNPROC
-.RS 5
-If this variable is set,
-.B show
-will next test for MIME messages. This mechanism is obsolete;
-use the
-.B \-nocheckmime
-switch to
-.B show
-instead.
-.RE
-.PP
.B $MAILDROP
.RS 5
This variable tells
.B send
and
.B post
-your mail signature. This supersedes the \*(lqSignature\*(rq profile entry.
+your mail signature. This supersedes the \*(lqSignature\*(rq profile entry,
+and is not used when the \*(lqLocal\-Mailbox\*(rq profile component is set.
.RE
.PP
.B $USER
create some temporary files.
.RE
.PP
-.B $MM_NOASK
-.RS 5
-Setting this variable is set to 1 has the same effect as specifying
-the
-.B \-nolist
-and
-.B \-nopause
-switches to
-.BR mhbuild ,
-.BR mhn ,
-and
-.BR mhshow .
-OBSOLETE: will be removed in a future version of nmh.
-.RE
-.PP
.B $MHLDEBUG
.RS 5
If this variable is set to a non-null value,
will emit a representation of the search pattern.
.RE
.PP
-.B $MHPOPDEBUG
-.RS 5
-If this variable is set to a non-null value,
-.B msgchck
-and
-.B inc
-will display their interaction with the POP server.
-This mechanism is obsolete; use the
-.B \-snoop
-switch instead.
-.RE
-.PP
.B $MHWDEBUG
.RS 5
If this variable is set to a non-null value,
about the values in that entry.
.RE
.PP
+.B $PAGER
+.RS 5
+If set to a non-null value, this supersedes the value of
+the default built-in pager command.
+.RE
+.PP
.B $editalt
.RS 5
This is the alternate message.
.B repl
during edit sessions so you can
peruse the message being distributed or replied to. The message is also
-available through a link called \*(lq@\*(rq in the current directory if
+available, when the
+.B \-atfile
+switch is used,
+through a link called \*(lq@\*(rq in the current directory if
your current working directory and the folder the message lives in are
-on the same UNIX filesystem.
+on the same UNIX filesystem, and if your current working directory is
+writable.
.RE
.PP
.B $mhdraft
.B repl
if annotations are to occur.
.RE
-
.SH FILES
.fc ^ ~
.nf
^or $MHCONTEXT~^Rather than the standard context
^<folder>/\&.mh\(rusequences~^Public sequences for <folder>
.fi
-
.SH "SEE ALSO"
-nmh(1), environ(5), mh-sequence(5)
-
+.IR environ (5),
+.IR mh-sequence (5),
+.IR nmh (7)
.SH HISTORY
The
.I \&.mh\(ruprofile
.B nmh
directory. As a result, you can actually have more than one set of
private sequences by using different context files.
-
.SH BUGS
-The shell quoting conventions are not available in the
-.IR \&.mh\(ruprofile .
-Each token is separated by whitespace.
-.PP
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