X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/1691e80890e5d8ba258c51c214a3e91880e1db2b..63621a81d16ab743de6b57d47578a9a2c670ad22:/man/mh-profile.man diff --git a/man/mh-profile.man b/man/mh-profile.man index e1326ed4..3b9bdcb4 100644 --- a/man/mh-profile.man +++ b/man/mh-profile.man @@ -1,587 +1,1085 @@ -.\" +.TH MH-PROFILE %manext5% 2016-10-19 "%nmhversion%" +. .\" %nmhwarning% -.\" $Id$ -.\" -.\" include the -mh macro file -.so %etcdir%/tmac.h -.\" -.TH MH-PROFILE %manext5% MH.6.8 [%nmhversion%] +. .SH NAME -mh-profile \- user profile customization for nmh message handler -.SH SYNOPSIS -.in +.5i -.ti -.5i -\&\fI.mh\(ruprofile\fP -.in -.5i +mh-profile \- user customization for nmh message handler .SH DESCRIPTION -Each user of \fInmh\fR is expected to have a file named -\fI\&.mh\(ruprofile\fR in his or her home directory. This file contains -a set of user parameters used by some or all of the \fInmh\fR family -of programs. Each entry in the file is of the format - - \fIprofile\-component\fR: \fIvalue\fR - -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. - -.Uh "Standard Profile Entries" +Each user of +.B nmh +is expected to have a file named +.I \&.mh\-profile +in their home directory. This file contains +a set of user parameters used by the +.B nmh +family of programs. Each entry in the file is of the format +.PP +.RS 5 +.IR profile-component ": " value +.RE +.PP +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 `#:': +.PP +.RS 5 +.IR # ": " +This is a comment. +.RE +.PP +Blank lines are not permitted in +.IR \&.mh\-profile . +Shell quoting conventions are not available; 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 they are not present. In the notation used below, (profile, default) -indicates whether the information is kept in the user's \fInmh\fR profile -or \fInmh\fR context, and indicates what the default value is. - -.in +1i -.ti -1i -Path: Mail -.br -Locates \fInmh\fR transactions in directory \*(lqMail\*(rq. This is the +indicates whether the information is kept in the user's +.B nmh +profile or +.B 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. +.PP +Some MH programs, including +.BR mhbuild , +.BR mhshow , +and +.BR 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. +.PP +.BR Path : +Mail +.RS 5 +Locates +.B nmh +transactions in directory \*(lqMail\*(rq. This is the only mandatory profile entry. (profile, no default) - -.ti -1i -context: context -.br -Declares the location of the \fInmh\fR context file. This is -overridden by the environment variable \fBMHCONTEXT\fR. -See the \fBHISTORY\fR section below. -(profile, default: /context) - -.ti -1i -Current\-Folder:\ inbox -.br +.RE +.PP +.BR locale : +locale +.RS 5 +Set the locale for all +.B nmh +programs except +.BR post , +.BR install-mh , +and +.BR 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. +.RE +.PP +.BR context : +context +.RS 5 +Declares the location of the +.B nmh +context file. This can be overridden by the environment variable +MHCONTEXT. +See the +.B HISTORY +section below. +(profile, default: /context) +.RE +.PP +.BR Current\-Folder : +inbox +.RS 5 Keeps track of the current open folder. (context, default: folder specified by \*(lqInbox\*(rq) - -.ti -1i -Inbox: inbox -.br -Defines the name of your default inbox. +.RE +.PP +.BR Inbox : +inbox +.RS 5 +Defines the name of the default inbox. (profile, default: inbox) - -.ti -1i -Previous\-Sequence:\ pseq -.br +.RE +.PP +.BR Previous\-Sequence : +.I pseq +.RS 5 Names the sequence or sequences which should be defined as the `msgs' or -`msg' argument given to any \fInmh\fR command. If not present or empty, +`msg' argument given to any +.B 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) - -.ti -1i -Sequence\-Negation:\ not -.br +sequence is first zeroed and then each message is added to the sequence. +Read +.IR mh\-sequence (5) +for the details about this sequence. (profile, no default) +.RE +.PP +.BR Sequence\-Negation : +not +.RS 5 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 mh\-sequence(5) -man page for the details. (profile, no default) - -.ti -1i -Unseen\-Sequence:\ unseen -.br +are not a member of the sequence \*(lqseen\*(rq. Read +.IR mh\-sequence (5) +for the details. (profile, no default) +.RE +.PP +.BR Unseen\-Sequence : +unseen +.RS 5 Names the sequence or sequences which should be defined as those -messages which are unread. The commands \fIinc\fR, \fIrcvstore\fR, -\fImhshow\fR, and \fIshow\fR will add or remove messages from these +messages which are unread. The commands +.BR inc , +.BR rcvstore , +.BR mhshow , +and +.B 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. +added to, or removed from, each sequence name given. Read +.IR mh\-sequence (5) +for the details about this sequence. (profile, no default) - -.ti -1i -mh\-sequences:\ \&.mh\(rusequences -.br +.RE +.PP +.BR mh\-sequences : +\&.mh\-sequences +.RS 5 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\(rusequences) - -.ti -1i -atr\-\fIseq\fR\-\fIfolder\fR:\ 172\0178\-181\0212 -.br -Keeps track of the private sequence called \fIseq\fR 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. +entry blank. (profile, default: \&.mh\-sequences) +.RE +.PP +.BI atr\- seq \- folder : +172\0178\-181\0212 +.RS 5 +Keeps track of the private sequence called \*(lqseq\*(rq in the specified +folder. Private sequences are generally used for read-only folders. +See +.IR mh\-sequence (5) +for details about private sequences. (context, no default) - -.ti -1i -Editor:\ /usr/bin/vi -.br -Defines the editor to be used by the commands \fIcomp\fR\0(1), -\fIdist\fR\0(1), \fIforw\fR\0(1), and \fIrepl\fR\0(1). (profile, default: -%default_editor%) - -.ti -1i -automimeproc: -.br -If defined and set to 1, then the \fIwhatnow\fR program will automatically -invoke the buildmimeproc (discussed below) to process each message as a MIME -composition draft before it is sent. -(profile, no default) - -.ti -1i -Msg\-Protect:\ 644 -.br +.RE +.PP +.BR Editor : +vi +.RS 5 +Defines the editor to be used by the commands +.BR comp , +.BR dist , +.BR forw , +and +.BR repl . +If not set, the value will be taken from the VISUAL and EDITOR environment +variables. (profile, default: vi) +.RE +.PP +.BR Msg\-Protect : +600 +.RS 5 An octal number which defines the permission bits for new message files. -See \fIchmod\fR\0(1) for an explanation of the octal number. -(profile, default: 0644) - -.ti -1i -Folder\-Protect:\ 700 -.br +See +.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 +.BR Folder\-Protect : +700 +.RS 5 An octal number which defines the permission bits for new folder -directories. See \fIchmod\fR\0(1) for an explanation of the octal number. -(profile, default: 0700) - -.ti -1i -\fIprogram\fR:\ default switches -.br -Sets default switches to be used whenever the mh program \fIprogram\fR -is invoked. For example, one could override the \fIEditor\fR: profile +directories. See +.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 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 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 +Sets default switches to be used whenever the mh program +.I program +is invoked. For example, one could override the \*(lqEditor:\*(rq profile component when replying to messages by adding a component such as: -.br - repl: \-editor /bin/ed -.br +.PP +.RS 5 +repl: \-editor /bin/ed +.RE +.PP (profile, no defaults) - -.ti -1i -\fIlasteditor\fR\-next:\ nexteditor -.br +.RE +.PP +.IB lasteditor "-next:" +.I nexteditor +.RS 5 Names \*(lqnexteditor\*(rq to be the default editor after using -\*(lqlasteditor\*(rq. This takes effect at \*(lqWhat now?\*(rq prompt -in \fIcomp\fR, \fIdist\fR, \fIforw\fR, and \fIrepl\fR. After editing -the draft with \*(lqlasteditor\*(rq, the default editor is set to be -\*(lqnexteditor\*(rq. If the user types \*(lqedit\*(rq without any -arguments to \*(lqWhat now?\*(rq, then \*(lqnexteditor\*(rq is used. +\*(lqlasteditor\*(rq. This takes effect at the \*(lqWhat now?\*(rq prompt +in +.BR comp , +.BR dist , +.BR forw , +and +.BR repl . +After editing the draft with \*(lqlasteditor\*(rq, the default editor is +set to be \*(lqnexteditor\*(rq. If the user types \*(lqedit\*(rq without +any arguments to \*(lqWhat now?\*(rq, then \*(lqnexteditor\*(rq is used. (profile, no default) - -.ti -1i -bboards: system -.br -Tells \fIbbc\fR which BBoards you are interested in. (profile, default: -system) - -.ti -1i -Folder\-Stack: \fIfolders\fR -.br -The contents of the folder-stack for the \fIfolder\fR command. +.RE +.PP +.BR Folder\-Stack : +.I folders +.RS 5 +The contents of the folder-stack for the +.B folder +command. (context, no default) - -.ti -1i -mhe: -.br -If present, tells \fIinc\fR to compose an \fIMHE\fR auditfile in addition -to its other tasks. \fIMHE\fR is Brian Reid's \fIEmacs\fR front-end -for \fInmh\fR. (profile, no default) - -.ti -1i -Alternate\-Mailboxes: mh@uci\-750a, bug-mh* -.br -Tells \fIrepl\fR and \fIscan\fR which addresses are really yours. -In this way, \fIrepl\fR knows which addresses should be included in the -reply, and \fIscan\fR knows if the message really originated from you. -Addresses must be separated by a comma, and the hostnames listed should -be the \*(lqofficial\*(rq 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) - -.ti -1i -Aliasfile: aliases other-alias -.br -Indicates aliases files for \fIali\fR, \fIwhom\fR, and \fIsend\fR. -This may be used instead of the `\-alias file' switch. (profile, no -default) - -.ti -1i -Draft\-Folder: drafts -.br -Indicates a default draft folder for \fIcomp\fR, \fIdist\fR, \fIforw\fR, -and \fIrepl\fR. Read the mh\-draft (5) man page for details. -(profile, no default) - -.ti -1i -digest\-issue\-\fIlist\fR:\ 1 -.br -Tells \fIforw\fR the last issue of the last volume sent for the digest -\fIlist\fR. (context, no default) - -.ti -1i -digest\-volume\-\fIlist\fR:\ 1 -.br -Tells \fIforw\fR the last volume sent for the digest \fIlist\fR. +.RE +.PP +.BR Local\-Mailbox : +Your Username +.RS 5 +Tells the MH programs what your local mailbox is. If set, it will be used +by the default component files by programs like +.B comp +and +.B repl +to construct your default \*(lqFrom:\*(rq header. The text used here will +be copied exactly to your \*(lqFrom:\*(rq header, so it should already be RFC +822 compliant. If this is set, the +.B Signature +profile entry is +.I not +used, so it should include a signature as well. (profile, +default: userid@local.hostname) +.RE +.PP +.BR Alternate\-Mailboxes : +mh@uci\-750a, bug-mh* +.RS 5 +Tells +.B repl +and +.B scan +which additional addresses are yours. In this way, +.B repl +knows which addresses should be included in the reply, and +.B scan +knows if a message originated from you. Addresses must be separated by a comma, +and the hostnames listed should be the \*(lqofficial\*(rq 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) +.RE +.PP +.BR Aliasfile : +aliases +.I other-aliases +.RS 5 +Indicates alias files for +.BR ali , +.BR whom , +and +.BR send . +This may be used instead of the +.B \-alias +.I file +switch. (profile, no default) +.RE +.PP +.BR Draft\-Folder : +drafts +.RS 5 +Indicates a default draft folder for +.BR comp , +.BR dist , +.BR forw , +.BR refile , +and +.BR repl . +Read +.IR mh\-draft (5) +for details. (profile, no default) +.RE +.PP +.BI digest\-issue\- list : +1 +.RS 5 +Tells +.B forw +the last issue of the last volume sent for the digest +.IR list . +(context, no default) +.RE +.PP +.BI digest\-volume\- list : +1 +.RS 5 +Tells +.B forw +the last volume sent for the digest +.IR list . (context, no default) - -.ti -1i -MailDrop: .mail -.br -Tells \fIinc\fR your maildrop, if different from the default. This is -superseded by the environment variable \fBMAILDROP\fR. (profile, default: -%mailspool%/$USER) - -.ti -1i -Signature: RAND MH System (agent: Marshall Rose) -.br -Tells \fIsend\fR your mail signature. This is superseded by the -environment variable \fBSIGNATURE\fR. If \fBSIGNATURE\fR is not set and -this profile entry is not present, the \*(lqgcos\*(rq field of -the \fI/etc/passwd\fP file will be used; otherwise, on hosts where -\fInmh\fR was configured with the UCI option, the file $HOME/.signature -is consulted. Your signature will be added to the address \fIsend\fP +.RE +.PP +.BR MailDrop : +\&.mail +.RS 5 +Tells +.B inc +your mail drop, if different from the default. This is +superseded by the environment variable MAILDROP. +(profile, default: %mailspool%/$USER) +.RE +.PP +.BR Signature : +RAND MH System (agent: Marshall Rose) +.RS 5 +Tells front-end programs such as +.BR comp , +.BR forw , +and +.B 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 \*(lqgcos\*(rq field of the \fI/etc/passwd\fP file +will be used. 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) -.in -1i - -.Uh "Process Profile Entries" -The following profile elements are used whenever an \fInmh\fR -program invokes some other program such as \fImore\fR\0(1). The -\fI\&.mh\(ruprofile\fR can be used to select alternate programs if the -user wishes. The default values are given in the examples. - -.in +1i -.ti -1i -buildmimeproc: %bindir%/mhbuild -.br -This is the program used by \fIwhatnow\fR to process drafts which -are MIME composition files. - -.ti -1i -fileproc: %bindir%/refile -.br +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, +.RI \*(lqfile: netrc \*(rq, +and +.RI \*(lqfile\-nopermcheck: netrc \*(rq. +With \*(lqlegacy\*(rq, or if there is no credentials entry, the +username is the first of: +.RS 5 +.TP 5 +.PD 0 +1) +.B \-user +switch to +.BR inc , +.BR msgchk , +.BR post , +.BR send , +or +.B whom +program +.TP +2) +the login name on the local machine +.PD +.RE +.PP +The password for SMTP services is the first of: +.RS 5 +.TP 5 +.PD 0 +1) +password value from matching entry in file named \*(lq.netrc\*(rq +in the user's home directory +.TP +2) +password obtained by interactively prompting the user +.PD +.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: +.RS 5 +.PD 0 +.TP 5 +1) +.B \-user +switch to program +.TP 5 +2) +login name from matching entry in +.I netrc +file +.TP 5 +3) +value provided by user in response to interactive query +.PD +.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 +.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. +.PP +The +.RI \*(lqfile\-nopermcheck: netrc \*(rq +.B credentials +entry is identical in behavior to the \*(lqfile\*(rq entry, with the +exception that the permission checks done by +\*(lqfile\*(rq are not performed. This entry should be used with +caution and only when absolutely necessary. +(profile, default: legacy) +.RE +.PP +.BR Welcome : +disable +.RS 5 +If the Welcome component is not present, or its value is not +.RI \*(lq disable \*(rq, +a welcome message will be displayed the first time that an interactive +.B nmh +program is run after updating the +.B nmh +installation. +The user must press the Enter key to continue. +.PP +If the MHCONTEXT environment variable is set and non-empty (and +the Welcome component is not +.RI \*(lq disable \*(rq), +the welcome message is only displayed if the context file contains a version +reference, and that reference is older than the installed +.B nmh +version. The version reference is of the form: +.PP +.RS 5 +.nf +Version: %nmhversion% +.fi +.RE +.SS "Process Profile Entries" +The following profile elements are used whenever an +.B nmh +program invokes some other program, such as +.BR more . +The +.I \&.mh\-profile +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 separate argument to the +.IR execvp (2) +system call. If the element contains shell metacharacters then the entire +element is executed using +.BR /bin/sh . +.PP +.BR buildmimeproc : +%bindir%/mhbuild +.RS 5 +This is the program used by +.B whatnow +to process drafts which are MIME composition files. +.RE +.PP +.BR fileproc : +%bindir%/refile +.RS 5 This program is used to refile or link a message to another folder. -It is used by \fIpost\fR to file a copy of a message into a folder given +It is used by +.B send +to file a copy of a message into a folder given by a \*(lqFcc:\*(rq field. It is used by the draft folder facility in -\fIcomp\fR, \fIdist\fR, \fIforw\fR, and \fIrepl\fR to refile a draft +.BR comp , +.BR dist , +.BR forw , +and +.B 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 \*(lqWhat now?\*(rq prompt. - -.ti -1i -incproc: %bindir%/inc -.br -Program called by \fImhmail\fR to incorporate new mail when it +response to the +.B refile +directive at the \*(lqWhat now?\*(rq prompt. +.RE +.PP +.BR formatproc : +.RS 5 +Program called by +.B mhl +to filter a component when it is tagged with the \*(lqformat\*(rq variable +in the mhl filter. See +.IR mhl (5) +for more information. +.RE +.PP +.BR incproc : +%bindir%/inc +.RS 5 +Program called by +.B mhmail +to incorporate new mail when it is invoked with no arguments. - -.ti -1i -installproc: %libdir%/install\-mh -.br -This program is called to initialize the environment for -new users of nmh. - -.ti -1i -lproc: %default_pager% -.br +.RE +.PP +.BR lproc : +more +.RS 5 This program is used to list the contents of a message in response -to the `list' directive at the \*(lqWhat now?\*(rq prompt. It is -also used by the draft folder facility in \fIcomp\fR, \fIdist\fR, -\fIforw\fR, and \fIrepl\fR to display the draft message. - -.ti -1i -mailproc: %bindir%/mhmail -.br +to the +.B list +directive at the \*(lqWhat now?\*(rq prompt. It is +also used by the draft folder facility in +.BR comp , +.BR dist , +.BR forw , +and +.B repl +to display the draft message. +(Note that +the environment variable PAGER +supersedes the default built-in pager command.) +.RE +.PP +.BR mailproc : +%bindir%/mhmail +.RS 5 This is the program used to automatically mail various messages -and notifications. It is used by \fIconflict\fR when using the -`-mail' option. It is used by \fIsend\fR to post failure notices. +and notifications. It is used by +.B 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 \fImhstore\fR). - -.ti -1i -mhlproc: %libdir%/mhl -.br +(such as when storing the body with +.BR mhstore ). +.RE +.PP +.BR mhlproc : +%nmhlibexecdir%/mhl +.RS 5 This is the program used to filter messages in various ways. It -is used by \fImhshow\fR to filter and display the message headers -of MIME messages. When the `-format' or `-filter' option is used -by \fIforw\fR or \fIrepl\fR, the mhlproc is used to filter the +is used by +.B mhshow +to filter and display the message headers +of MIME messages. When the +.B \-format +or +.B \-filter +option is used +by +.B forw +or +.BR repl , +the +.I mhlproc +is used to filter the message that you are forwarding, or to which you are replying. -When the `-filter' option is given to \fIsend\fR or \fIpost\fR, -the mhlproc is used by \fIpost\fR to filter the copy of the message +When the +.B \-filter +option is given to +.BR send , +the +.I mhlproc +is used to filter the copy of the message that is sent to \*(lqBcc:\*(rq recipients. - -.ti -1i -moreproc: %default_pager% -.br -This is the program used by \fImhl\fR to page the \fImhl\fR formatted -message when displaying to a terminal. It is also the default -program used by \fImhshow\fR to display message bodies (or message -parts) of type text/plain. - -.ti -1i -mshproc: %bindir%/msh -.br +.RE +.PP +.BR moreproc : +more +.RS 5 +This is the program used by +.B mhl +to page the +.B mhl +formatted message when displaying to a terminal. It is also the default +program used by +.B 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.) +.RE +.PP +.BR packproc : +%bindir%/packf +.RS 5 Currently not used. - -.ti -1i -packproc: %bindir%/packf -.br -Currently not used. - -.ti -1i -postproc: %libdir%/post -.br -This is the program used by \fIsend\fR, \fImhmail\fR, \fIrcvdist\fR, -and \fIviamail\fR (used by the \fIsendfiles\fR shell script) to +.RE +.PP +.BR postproc : +%nmhlibexecdir%/post +.RS 5 +This is the program used by +.BR send , +.BR mhmail , +.BR rcvdist , +and +.B viamail +(used by the +.B sendfiles +shell script) to post a message to the mail transport system. It is also called by -\fIwhom\fR (called with the switches `-whom' and `-library') to do -address verification. - -.ti -1i -rmmproc: none -.br -This is the program used by \fIrmm\fR and \fIrefile\fR to delete -a message from a folder. - -.ti -1i -rmfproc: %bindir%/rmf -.br -Currently not used. - -.ti -1i -sendproc: %bindir%/send -.br -This is the program to use by \fIwhatnow\fR to actually -send the message - -.ti -1i -showmimeproc: %bindir%/mhshow -.br -This is the program used by \fIshow\fR to process and display -non-text (MIME) messages. - -.ti -1i -showproc: %libdir%/mhl -.br -This is the program used by \fIshow\fR to filter and display text -(non-MIME) messages. - -.ti -1i -whatnowproc: %bindir%/whatnow -.br -This is the program invoked by \fIcomp\fR, \fIforw\fR, \fIdist\fR, and -\fIrepl\fR to query about the disposition of a composed draft message. - -.ti -1i -whomproc: %bindir%/whom -.br -This is the program used by \fIwhatnow\fR to determine to whom a -message would be sent. - -.Uh "Environment Variables" -The operation of nmh and its commands it also controlled by the +.B whom +(called with the switches +.B \-whom +and +.BR \-library ) +to do address verification. +.RE +.PP +.BR rmmproc : +none +.RS 5 +This is the program used by +.BR rmm , +.BR refile , +and +.B mhfixmsg +to delete a message from a folder. +.RE +.PP +.BR sendproc : +%bindir%/send +.RS 5 +This is the program used by +.B whatnow +to actually send the message +.RE +.PP +.BR showmimeproc : +%bindir%/mhshow +.RS 5 +This is the program used by +.B show +to process and display non-text (MIME) messages. +.RE +.PP +.BR showproc : +%nmhlibexecdir%/mhl +.RS 5 +This is the program used by +.B show +to filter and display text (non-MIME) messages. +.RE +.PP +.BR whatnowproc : +%bindir%/whatnow +.RS 5 +This is the program invoked by +.BR comp , +.BR dist , +.BR forw , +and +.B repl +to query about the disposition of a composed draft message. +.RE +.PP +.BR whomproc : +%bindir%/whom +.RS 5 +This is the program used by +.B whatnow +to determine to whom a message would be sent. +.RE +.SS "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 %nmhetcdir%/mhn.defaults. +These programs are +.BR mhbuild , +.BR mhshow , +.BR mhstore , +and +.BR mhn . +.B mhfixmsg +is similar, but has no optional profile. +.PP +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. +.PP +The +.I \&.mh\-profile +contains only static information, which +.B nmh +programs will +.I not +update. Changes in context are made to the +.I context +file kept in the users +.B nmh +directory. This includes, but is not limited to: the +\*(lqCurrent\-Folder\*(rq entry and all private sequence information. +Public sequence information is kept in each folder in the file +determined by the \*(lqmh\-sequences\*(rq profile entry (default is +.IR \&.mh\-sequences ). +.PP +The +.I \&.mh\-profile +may override the path of the +.I context +file, by specifying a \*(lqcontext\*(rq entry (this must be in +lower-case). If the entry is not absolute (does not start with a +\*(lq/\*(rq), then it is interpreted relative to the user's +.B nmh +directory. As a result, you can actually have more than one set of +private sequences by using different context files. +.SH ENVIRONMENT +The operation of +.B nmh +and its commands it also controlled by the presence of certain environment variables. - +.PP Many of these environment variables are used internally by the \*(lqWhat now?\*(rq interface. It's amazing all the information that has to get passed via environment variables to make the -\*(lqWhat now?\*(rq interface look squeaky clean to the \fInmh\fR -user, isn't it? The reason for all this is that the \fInmh\fR user -can select \fIany\fR program as the \fIwhatnowproc\fR, 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 \fInmh\fR configuration, and -if this environment variable is set, then if the commands \fIrefile\fR, -\fIsend\fR, \fIshow\fR, or \fIwhom\fR are not given any `msgs' -arguments, then they will default to using the file indicated by -\fBmhdraft\fR. This is useful for getting the default behavior -supplied by the default \fIwhatnowproc\fR. - -.in +.5i -.ti -.5i -\fBMH\fR\0: With this environment variable, you can specify a profile -other than \fI\&.mh\(ruprofile\fR to be read by the \fInmh\fR programs -that you invoke. If the value of \fBMH\fR is not absolute, (i.e., does -not begin with a \fB/\fR\0), it will be presumed to start from the current -working directory. This is one of the very few exceptions in \fInmh\fR +\*(lqWhat now?\*(rq interface look squeaky clean to the +.B nmh +user, isn't it? The reason for all this is that the +.B nmh +user can select any program as the +.IR 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. +.TP +LC_ALL, LC_CTYPE, and LANG +These variables are used to set the locale, see locale(1). +The \*(lqlocale\*(rq profile entry supersedes these. +.TP +MAILDROP +This variable tells +.B inc +the default mail drop. This supersedes the \*(lqMailDrop\*(rq +profile entry. +.TP +MAILHOST +This variable tells +.B inc +the POP host to query for mail to incorporate. See +.IR inc (1) +for more information. +.TP +MH +With this environment variable, you can specify a profile +other than +.I \&.mh\-profile +to be read by the +.B nmh +programs that you invoke. If the value of MH is not absolute, +(i.e., does not begin with a \*(lq/\*(rq), it will be presumed +to start from the current working directory. This is one of the +very few exceptions in +.B nmh where non-absolute pathnames are not considered relative to the user's -\fInmh\fR directory. - -.ti -.5i -\fBMHCONTEXT\fR\0: With this environment variable, you can specify a -context other than the normal context file (as specified in -the \fInmh\fR profile). As always, unless the value of \fBMHCONTEXT\fR -is absolute, it will be presumed to start from your \fInmh\fR directory. - -.ti -.5i -\fBMM_CHARSET\fR\0: 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. - -This variable is checked to see if a RFC-2047 header field should be -decoded (in \fIinc\fR, \fIscan\fR, \fImhl\fR). This variable is -checked by \fIshow\fR 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 \fImhshow\fR 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 -\fImhbuild\fR to decide what character set to specify in the charset -parameter of text contents containing 8bit characters. - -When decoding text in such an alternate character set, \fInmh\fR -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 LC_CTYPE to iso_8859_1). - -.ti -.5i -\fBMAILDROP\fR\0: tells \fIinc\fR the default maildrop -.br -This supersedes the \*(lqMailDrop:\*(rq profile entry. - -.ti -.5i -\fBSIGNATURE\fR\0: tells \fIsend\fR and \fIpost\fR your mail signature -.br -This supersedes the \*(lqSignature:\*(rq profile entry. - -.ti -.5i -\fBHOME\fR\0: tells all \fInmh\fR programs your home directory - -.ti -.5i -\fBSHELL\fR\0: tells \fIbbl\fR the default shell to run - -.ti -.5i -\fBTERM\fR\0: tells \fInmh\fR your terminal type -.br -The environment variable \fBTERMCAP\fR is also consulted. In particular, -these tell \fIscan\fR and \fImhl\fR how to clear your terminal, and how -many columns wide your terminal is. They also tell \fImhl\fR how many -lines long your terminal screen is. - -.ti -.5i -\fBeditalt\fR\0: the alternate message -.br -This is set by \fIdist\fR and \fIrepl\fR 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 -your current working directory and the folder the message lives in are -on the same UNIX filesystem. - -.ti -.5i -\fBmhdraft\fR\0: the path to the working draft -.br -This is set by \fIcomp\fR, \fIdist\fR, \fIforw\fR, and \fIrepl\fR -to tell the \fIwhatnowproc\fR which file to ask \*(lqWhat now?\*(rq -questions about. - -.ti -.5i -\fBmhfolder\fR\0: -.br -This is set by \fIdist\fR, \fIforw\fR, and \fIrepl\fR, -if appropriate. - -.ti -.5i -\fBmhaltmsg\fR\0: -.br -\fIdist\fR and \fIrepl\fR set \fBmhaltmsg\fR to tell the -\fIwhatnowproc\fR about an alternate message associated with the +.B nmh +directory. +.TP +MHBUILD +With this environment variable, you can specify an additional user profile +(file) to be read by +.BR mhbuild , +in addition to the mhn.defaults profile. +.TP +MHCONTEXT +With this environment variable, you can specify a context other than the +normal context file (as specified in the +.B nmh +profile). As usual, unless the value of MHCONTEXT is absolute, it will +be presumed to start from your +.B nmh +directory. +.TP +MHLDEBUG +If this variable is set to a non-null value, +.B mhl +will emit debugging information. +.TP +MHMTSCONF +If this variable is set to a non-null value, it specifies the +name of the mail transport configuration file to use by +.BR inc , +.BR post , +and other programs that interact with the mail transport system, +instead of the default. See +.IR mh-tailor (5). +.TP +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 +.IR mh-tailor (5). +.TP +MHN +With this environment variable, you can specify an additional user +profile (file) to be read by +.BR mhn , +in addition to the mhn.defaults profile. +.B mhn +is deprecated, so support for this variable will be removed from a +future nmh release. +.TP +MHSHOW +With this environment variable, you can specify an additional user +profile (file) to be read by +.BR mhshow , +in addition to the mhn.defaults profile. +.TP +MHSTORE +With this environment variable, you can specify an additional user +profile (file) to be read by +.BR mhstore , +in addition to the mhn.defaults profile. +.TP +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. +.TP +MHWDEBUG +If this variable is set to a non-null value, +.B nmh +commands that use the +.B Alternate\-Mailboxes +profile entry will display debugging information about the values in +that entry. +.TP +PAGER +If set to a non-null value, this supersedes the value of the default +built-in pager command. +.TP +SIGNATURE +This variable tells +.B send +and +.B post +your mail signature. This supersedes the \*(lqSignature\*(rq profile entry, +and is not used when the \*(lqLocal\-Mailbox\*(rq profile component is set. +.TP +USER +This variable tells +.B repl +your user name and +.B inc +your default mail drop: see the \*(lqMailDrop\*(rq profile entry. +.TP +USERNAME_EXTENSION +This variable is for use with username_extension masquerading. See +.IR mh-tailor (5). +.TP +editalt +This is the alternate message. This is set by +.B dist +and +.B repl +during edit sessions so you can peruse the message being distributed or +replied to. The message is also 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, and if your current working directory is +writable. +.TP +mhaltmsg +.B dist +and +.B repl +set mhaltmsg to tell the +.I whatnowproc +about an alternate message associated with the draft (the message being distributed or replied to). - -.ti -.5i -\fBmhdist\fR\0: -.br -\fIdist\fR sets \fBmhdist\fR to tell the \fIwhatnowproc\fR that -message re-distribution is occurring. - -.ti -.5i -\fBmheditor\fR\0: -.br -This is set to tell the \fIwhatnowproc\fR the user's choice of -editor (unless overridden by `\-noedit'). - -.ti -.5i -\fBmhuse\fR\0: -.br -This may be set by \fIcomp\fR. - -.ti -.5i -\fBmhmessages\fR\0: -.br -This is set by \fIdist\fR, \fIforw\fR, and \fIrepl\fR if annotations -are to occur. - -.ti -.5i -\fBmhannotate\fR\0: -.br -This is set by \fIdist\fR, \fIforw\fR, and \fIrepl\fR if annotations -are to occur. - -.ti -.5i -\fBmhinplace\fR\0: -.br -This is set by \fIdist\fR, \fIforw\fR, and \fIrepl\fR if annotations -are to occur. - -.ti -.5i -\fBmhfolder\fR\0: the folder containing the alternate message -.br -This is set by \fIdist\fR and \fIrepl\fR during edit sessions so you -can peruse other messages in the current folder besides the one being -distributed or replied to. The environment variable \fBmhfolder\fR is -also set by \fIshow\fR, \fIprev\fR, and \fInext\fR for use by \fImhl\fR. -.in -.5i - -.Fi -^$HOME/\&.mh\(ruprofile~^The user profile -^or $MH~^Rather than the standard profile -^/context~^The user context -^or $MHCONTEXT~^Rather than the standard context -^/\&.mh\(rusequences~^Public sequences for -.Pr -All -.Sa -mh(1), environ(5), mh-sequence(5) -.De -None -.Co -All -.Hi -The \fI\&.mh\(ruprofile\fR contains only static information, which -\fInmh\fR programs will \fBNOT\fR update. Changes in context are -made to the \fIcontext\fR file kept in the users nmh \fIdirectory\fR. -This includes, but is not limited to: the \*(lqCurrent\-Folder\*(rq entry -and all private sequence information. Public sequence information is -kept in each folder in the file determined by the \*(lqmh\-sequences\*(rq -profile entry (default is \fI\&.mh\(rusequences\fR). - -The \fI\&.mh\(ruprofile\fR may override the path of the \fIcontext\fR -file, by specifying a \*(lqcontext\*(rq entry (this must be in -lower-case). If the entry is not absolute (does not start with a -\fB/\fR\0), then it is interpreted relative to the user's \fInmh\fR -directory. As a result, you can actually have more than one set of -private sequences by using different context files. -.Bu -The shell quoting conventions are not available in the \&.mh\(ruprofile. -Each token is separated by whitespace. - +.TP +mhannotate +This is set by +.BR dist , +.BR forw , +and +.B repl +if annotations are to occur. +.TP +mhdist +.B dist +sets mhdist to tell the +.I whatnowproc +that message re-distribution is occurring. +.TP +mhdraft +This is the path to the working draft. It is set by +.BR comp , +.BR dist , +.BR forw , +and +.B repl +to tell the +.I whatnowproc +which file to ask \*(lqWhat now?\*(rq questions about. +.TP +mheditor +This is set by +.BR comp , +.BR repl , +.BR forw , +and +.B dist +to tell the +.I whatnowproc +the user's choice of editor (unless overridden by +.BR \-noedit ). +.TP +mhfolder +This is the folder containing the alternate message. +It is set by +.B dist +and +.B 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 +.BR next , +.BR prev , +and +.B show +for use by +.BR mhl . +.TP +mhinplace +This is set by +.BR dist , +.BR forw , +and +.B repl +if annotations are to occur. +.TP +mhmessages +This is set by +.BR dist , +.BR forw , +and +.B repl +if annotations are to occur. +.TP +mhuse +This may be set by +.BR comp . +.SH FILES +.PD 0 +.TP 20 +$HOME/.mh\-profile +The user's profile. +.TP +/context +The user's context +.TP +/.mh\-sequences +Public sequences for . +.PD +.SH "SEE ALSO" +.IR mhbuild (1), +.IR mhshow (1), +.IR mhstore (1), +.IR mh-sequence (5), +.IR nmh (7) +.SH 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 -command line semantics of all \fInmh\fR 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 \fInmh\fR 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 \fI$HOME/bin\fR directory to the \fInmh\fR program -of your choice. By giving this link a different name, you can create +the command line semantics of all +.B nmh +programs: conflicting switches +(e.g. +.B \-header +and +.BR \-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. +.PP +If one finds that an +.B 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 +.I $HOME/bin +directory to the +.B 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 \fInmh\fR command. Similarly, you could create a small shell script -which called the \fInmh\fR program of your choice with an alternate set +the +.B nmh +command. Similarly, you could create a small shell script +which called the +.B 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 \fIcsh\fR user could create an alias for the command of the form: - -.ti +.5i +.PP +Finally, the +.B csh +user could create an alias for the command of the form: +.PP +.RS 5 alias cmd 'cmd arg1 arg2 ...' - +.RE +.PP In this way, the user can avoid lengthy type-in to the shell, and still -give \fInmh\fR commands safely. (Recall that some \fInmh\fR commands +give +.B nmh +commands safely. (Recall that some +.B nmh +commands invoke others, and that in all cases, the profile is read, meaning that aliases are disregarded beyond an initial command invocation) -.En