Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MH-PROFILE(5)		      File Formats Manual		 MH-PROFILE(5)

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

DESCRIPTION
       Each  user of nmh is expected to	have a file named .mh-profile in their
       home directory.	This file contains a set of user  parameters  used  by
       the nmh family of programs.  Each entry in the file is of the format

	    profile-component: value

       If  the	text of	a profile entry	is long, you may extend	it across sev-
       eral real lines by indenting the	continuation lines with	leading	spaces
       or tabs.	 Comments may be introduced by a line starting with `#:':

	    #: This is a comment.

       Blank lines are not permitted in	.mh-profile.   Shell  quoting  conven-
       tions are not available;	each token is separated	by whitespace.

   Standard Profile Entries
       The possible profile components are exemplified below.  The only	manda-
       tory entry is `Path:'.  The others are optional;	some have default val-
       ues if they are not present.  In	the notation used below, (profile, de-
       fault) indicates	whether	the information	is kept	in the user's nmh pro-
       file  or	 nmh  context,	and indicates what the default value is.  Note
       that a profile component	can only appear	 once.	 Multiple  appearances
       will  trigger  a	 warning  that all appearances after the first are ig-
       nored.

       Some MH programs, including mhbuild, mhshow, and	mhstore, have specific
       profile components that are described in	their  respective  man	pages.
       Each  component name specific to	these programs begins with the name of
       the program and is followed by a	dash.

       Path: Mail
	    Locates nmh	transactions in	directory  "Mail".   A	relative  Path
	    starts from	the user's home	directory.  This is the	only mandatory
	    profile entry.  (profile, no default)

       locale: locale
	    Set	 the  locale for all nmh programs except post, install-mh, and
	    slocal.  See the LC_ALL, LC_CTYPE, and LANG	variables in the  "EN-
	    VIRONMENT"	section	below for a reference on how the locale	is set
	    if this profile component is not used.

       context:	context
	    Declares the location of the nmh context file.  This can be	 over-
	    ridden  by	the  environment  variable MHCONTEXT.  See the HISTORY
	    section below.  (profile, default: <nmh-dir>/context)

       Current-Folder: inbox
	    Keeps track	of the current open folder.  (context, default:	folder
	    specified by "Inbox")

       Inbox: inbox
	    Defines the	name of	the default inbox.  (profile, default: inbox)

       Previous-Sequence: pseq
	    Names the sequence or sequences which should  be  defined  as  the
	    `msgs' or `msg' argument given to any nmh command.	If not present
	    or empty, no such sequences	are defined.  Otherwise, for each name
	    given, the sequence	is first zeroed	and then each message is added
	    to	the  sequence.	Read mh-sequence(5) 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	mh-sequence(5)
	    for	the details.  (profile,	no default)

       Unseen-Sequence:	unseen
	    Names the sequence or sequences which should be defined  as	 those
	    messages  which  are  unread.  The commands	inc, rcvstore, mhshow,
	    and	show will add or remove	messages  from	these  sequences  when
	    they  are  incorporated or read.  If not present or	empty, no such
	    sequences are defined.  Otherwise, each message is	added  to,  or
	    removed  from,  each sequence name given.  Read mh-sequence(5) for
	    the	details	about this sequence.  (profile,	no default)

       mh-sequences: .mh-sequences
	    The	name of	the file in  each  folder  which  defines  public  se-
	    quences.   To disable the use of public sequences, leave the value
	    portion of this entry blank.  (profile, default: .mh-sequences)

       atr-seq-folder: 172 178-181 212
	    Keeps track	of the private sequence	called "seq" in	the  specified
	    folder.   Private sequences	are generally used for read-only fold-
	    ers.  See mh-sequence(5)  for  details  about  private  sequences.
	    (context, no default)

       Editor: prompter
	    Defines  the  editor  to be	used by	the commands comp, dist, forw,
	    and	repl.  If not set, the value will be taken from	the VISUAL and
	    EDITOR environment variables.  (profile, default: prompter)

       Msg-Protect: 600
	    An octal number which defines the permission bits for new  message
	    files.  See	chmod(1) for an	explanation of the octal number.  Note
	    that  some	filesystems,  such as FAT32, do	not support removal of
	    read file permissions.  (profile, default: 0600)

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

       datalocking: fcntl
	    The	 locking algorithm used	to lock	changes	to any nmh data	files,
	    such as sequences or context.  The locking algorithm is any	one of
	    the	following entries:

		 fcntl dot flock lockf

	    Available locking algorithms can vary depending on	the  operating
	    system.   Note: currently, transactional locking is	only supported
	    on public sequences;  see  mh-sequence(5)  for  more  information.
	    (profile, default: fcntl)

       program:	default	switches
	    Sets  default  switches to be used whenever	the mh program program
	    is invoked.	 For example, one could	override the "Editor:" profile
	    component when replying to messages	by adding a component such as:

		 repl: -editor /bin/ed

	    (profile, no defaults)

       lasteditor-next:	nexteditor
	    Names "nexteditor" to be the default editor	after using  "lastedi-
	    tor".   This takes effect at the "What now?" prompt	in comp, dist,
	    forw, and repl.  After editing the draft  with  "lasteditor",  the
	    default  editor  is	 set  to  be  "nexteditor".  If	the user types
	    "edit" without any arguments to "What now?", then "nexteditor"  is
	    used.  (profile, no	default)

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

       Local-Mailbox: Your Username <user@some.host>
	    Tells the MH programs what your local mailbox is.  If set, it will
	    be used by the default component files by programs like  comp  and
	    repl to construct your default "From:" header.  The	text used here
	    will  be  copied  exactly to your "From:" header, so it should al-
	    ready be RFC 822 compliant.	 If this is set, the Signature profile
	    entry is not used, so it  should  include  a  signature  as	 well.
	    (profile, default: userid@local.hostname)

       Alternate-Mailboxes: mh@uci-750a, bug-mh*
	    Tells repl and scan	which additional addresses are yours.  In this
	    way,  repl	knows which addresses should be	included in the	reply,
	    and	scan knows if a	message	originated from	you.   Addresses  must
	    be	separated  by  a comma,	and the	hostnames listed should	be the
	    "official" hostnames for the  mailboxes  you  indicate,  as	 local
	    nicknames  for  hosts  are	not  replaced with their official site
	    names.  For	each address, if a host	is not given,  then  that  ad-
	    dress on any host is considered to be you.	In addition, an	aster-
	    isk	 (`*')	may  appear  at	either or both ends of the mailbox and
	    host to indicate  wild-card	 matching.   (profile,	default:  your
	    user-id)

       Aliasfile: aliases other-aliases
	    Indicates  alias  files for	ali, whom, and send.  This may be used
	    instead of the -alias file switch.	(profile, no default)

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

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

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

       MailDrop: .mail
	    Tells  inc your mail drop, if different from the default.  This is
	    superseded by the environment variable  MAILDROP.	(profile,  de-
	    fault: /var/mail/$USER)

       Signature: RAND MH System (agent: Marshall Rose)
	    Tells  front-end  programs	such as	comp, forw, and	repl your mail
	    signature.	(This is not to	be confused  with  a  .signature  that
	    might be appended to mails.) This is superseded by the environment
	    variable  SIGNATURE.  If SIGNATURE is not set and this profile en-
	    try	is not present,	the "gcos" field of the	/etc/passwd file  will
	    be used.  Your signature will be added to the address send puts in
	    the	 "From:"  header;  do  not include an address in the signature
	    text.  The "Local-Mailbox" profile	component  supersedes  all  of
	    this.  (profile, no	default)

       credentials: legacy
	    Indicates  how  the	 username and password credentials will	be re-
	    trieved for	access to external servers, such as those that provide
	    SMTP or POP	service.  The supported	 entry	values	are  "legacy",
	    "file:netrc",  and "file-nopermcheck:netrc".  With "legacy", or if
	    there is no	credentials entry, the username	is the first of:

		 1)   -user switch to inc, msgchk, post, send, or whom program
		 2)   the login	name on	the local machine

	    The	password for SMTP services is the first	of:

		 1)   password	value  from  matching  entry  in  file	 named
		      ".netrc" in the user's home directory
		 2)   password obtained	by interactively prompting the user

	    With  a  "file:netrc" credentials entry, the username is the first
	    of:
		 1)   -user switch to program
		 2)   login name from matching entry in	netrc file
		 3)   value provided by	user in	response to interactive	query

	    Similarly, the password is provided	either in the  netrc  file  or
	    interactively.   netrc  can	be any valid filename, either absolute
	    or relative	to Path	or $HOME.  The netrc file contains authentica-
	    tion information, for each server, using a line of	the  following
	    form.   (Replace  myserver,	 mylogin, and mypassword with your own
	    account information.)

		 machine myserver login	mylogin	password mypassword

	    This netrc file must be owned and readable only by you.

	    The	"file-nopermcheck:netrc" credentials entry is identical	in be-
	    havior to the "file" entry,	with the exception that	the permission
	    checks done	by "file" are not performed.   This  entry  should  be
	    used  with	caution	and only when absolutely necessary.  (profile,
	    default: legacy)

       Welcome:	disable
	    If the Welcome component is	not present, or	its value is not "dis-
	    able", a welcome message will be displayed the first time that  an
	    interactive	 nmh  program  is run after updating the nmh installa-
	    tion.  The user must press the Enter key to	continue.

	    If the MHCONTEXT environment variable is set  and  non-empty  (and
	    the	 Welcome  component  is	not "disable"),	the welcome message is
	    only displayed if the context file contains	a  version  reference,
	    and	 that  reference is older than the installed nmh version.  The
	    version reference is of the	form:

		 Version: nmh-1.8+dev

   Process Profile Entries
       The following profile elements are used whenever	an nmh program invokes
       some other program, such	as more.  The .mh-profile can be used  to  se-
       lect  alternate	programs  if  the user wishes.	The default values are
       given in	the examples.

       If the profile element contains spaces, the element is split at	spaces
       into  tokens  and each token is given as	a separate argument to the ex-
       ecvp(2) system call.  If	the element contains shell metacharacters then
       the entire element is executed using /bin/sh.

       buildmimeproc: /usr/local/bin/mhbuild
	    This is the	program	used by	whatnow	to process  drafts  which  are
	    MIME composition files.

       fileproc: /usr/local/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 re-
	    sponse to the refile directive at the "What	now?" prompt.

       formatproc:
	    Program called by mhl to filter a component	when it	is tagged with
	    the	"format" variable in the mhl filter.  See mhl(5) for more  in-
	    formation.

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

       lproc: more
	    This program is used to list the contents of a message in response
	    to the list	directive at the "What now?" prompt.  It is also  used
	    by the draft folder	facility in comp, dist,	forw, and repl to dis-
	    play the draft message.  (Note that	the environment	variable PAGER
	    supersedes the default built-in pager command.)

       mailproc: /usr/local/bin/mhmail
	    This  is  the  program used	to automatically mail various messages
	    and	notifications.	It is used by send to  post  failure  notices.
	    It	is  used  to retrieve an external-body with access-type	`mail-
	    server' (such as when storing the body with	mhstore).

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

       moreproc: more
	    This is the	program	used by	mhl to page the	mhl formatted  message
	    when  displaying  to  a  terminal.	It is also the default program
	    used by mhshow to display message bodies  (or  message  parts)  of
	    type text/plain.  (Note that the environment variable PAGER	super-
	    sedes the default built-in pager command.)

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

       postproc: /usr/local/libexec/nmh/post
	    This  is  the  program  used by send, mhmail, rcvdist, and viamail
	    (used by the sendfiles shell script) to post a message to the mail
	    transport system.  It is also called  by  whom  (called  with  the
	    switches -whom and -library) to do address verification.

	    If	the profile contains a post component and a postproc component
	    is not present, a warning message that the post component will  be
	    ignored will be displayed by every nmh program that	reads the pro-
	    file and has its stderr associated with a terminal.

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

       sendproc: /usr/local/bin/send
	    This is the	program	used by	whatnow	to actually send the message

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

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

       whatnowproc: /usr/local/bin/whatnow
	    This is the	program	invoked	by comp, dist, forw, and repl to query
	    about the disposition of a composed	draft message.

       whomproc: /usr/local/bin/whom
	    This is the	program	used by	whatnow	to determine to	whom a message
	    would be sent.

   Profile Lookup
       After consulting	.mh_profile, some programs read	 an  optional  profile
       specified by a program-specific environment variable, and then the sys-
       tem-wide	 profile  /usr/local/etc/nmh/mhn.defaults.  These programs are
       mhbuild,	mhshow,	mhstore, and mhn.  mhfixmsg is similar,	but has	no op-
       tional profile.

       The first occurrence of a component is used, e.g. .mh_profile's	trumps
       $MHSHOW's.   A  component with no value still stops further occurrences
       being used, but is considered absent.

       The .mh-profile contains	only static information,  which	 nmh  programs
       will  not update.  Changes in context are made to the context file kept
       in the users nmh	directory.  This includes, but is not limited to:  the
       "Current-Folder"	 entry	and  all private sequence information.	Public
       sequence	information is kept in each folder in the file	determined  by
       the "mh-sequences" profile entry	(default is .mh-sequences).

       The  .mh-profile	may override the path of the context file, by specify-
       ing a "context" entry (this must	be in lower-case).  If	the  entry  is
       not  absolute (does not start with a "/"), then it is interpreted rela-
       tive to the user's nmh directory.  As a result, you can	actually  have
       more  than  one	set  of	 private  sequences by using different context
       files.

ENVIRONMENT
       The operation of	nmh and	its commands it	also controlled	by  the	 pres-
       ence of certain environment variables.

       Many  of	 these	environment variables are used internally by the "What
       now?" interface.	 It's amazing all the  information  that  has  to  get
       passed via environment variables	to make	the "What now?"	interface look
       squeaky	clean  to  the nmh user, isn't it?  The	reason for all this is
       that the	nmh user can select any	program	as the whatnowproc,  including
       one of the standard shells.  As a result, it's not possible to pass in-
       formation  via  an  argument  list.  The	convention is that environment
       variables whose names are all upper-case	are user-settable; those whose
       names are lower-case only are used internally by	 nmh  and  should  not
       generally be set	by the user.

       HOME   If  set  and  non-null, it is used as the	user's home directory.
	      If not set or null, then getpwuid(3)'s pw_dir is used.

       LC_ALL, LC_CTYPE, and LANG
	      These variables are used to set the locale, see locale(1).   The
	      "locale" profile entry supersedes	these.

       MAILDROP
	      This  variable tells inc the default mail	drop.  This supersedes
	      the "MailDrop" profile entry.

       MAILHOST
	      This variable tells inc the POP host to query for	mail to	incor-
	      porate.  See inc(1) for more information.

       MH     With this	environment variable, you can specify a	profile	 other
	      than .mh-profile to be read by the nmh programs that you invoke.
	      If the value of MH is not	absolute, (i.e., does not begin	with a
	      "/"),  it	will be	presumed to start from the current working di-
	      rectory.	This is	one of the very	few exceptions	in  nmh	 where
	      non-absolute pathnames are not considered	relative to the	user's
	      nmh directory.

       MHBUILD
	      With  this  environment  variable, you can specify an additional
	      user profile (file) to be	read by	mhbuild, in  addition  to  the
	      mhn.defaults profile.

       MHCONTEXT
	      With  this environment variable, you can specify a context other
	      than the normal context file (as specified in the	nmh  profile).
	      As  usual, unless	the value of MHCONTEXT is absolute, it will be
	      presumed to start	from your nmh directory.

       MHLDEBUG
	      If this variable is set to a non-null value, mhl will  emit  de-
	      bugging information.

       MHMTSCONF
	      If  this	variable  is set to a non-null value, it specifies the
	      name of the mail transport configuration file  to	 use  by  inc,
	      post,  and  other	programs that interact with the	mail transport
	      system, instead of the default.  See mh-tailor(5).

       MHMTSUSERCONF
	      If this variable is set to a non-null value,  it	specifies  the
	      name  of a mail transport	configuration file to be read in addi-
	      tion to the default.  See	mh-tailor(5).

       MHN    With this	environment variable, you can  specify	an  additional
	      user  profile  (file)  to	 be  read  by  mhn, in addition	to the
	      mhn.defaults profile.  mhn is deprecated,	so  support  for  this
	      variable will be removed from a future nmh release.

       MHSHOW With  this  environment  variable, you can specify an additional
	      user profile (file) to be	read by	mhshow,	 in  addition  to  the
	      mhn.defaults profile.

       MHSTORE
	      With  this  environment  variable, you can specify an additional
	      user profile (file) to be	read by	mhstore, in  addition  to  the
	      mhn.defaults profile.

       MHTMPDIR, TMPDIR
	      These  variables	are  searched,	in order, for the directory in
	      which to create some temporary files.   MHTMPDIR	is  deprecated
	      and will be removed in a future release of nmh.

       MHWDEBUG
	      If  this	variable is set	to a non-null value, nmh commands that
	      use the Alternate-Mailboxes profile entry	will display debugging
	      information about	the values in that entry.

       PAGER  If set to	a non-null value, this supersedes the value of the de-
	      fault built-in pager command.

       SIGNATURE
	      This variable tells send and post	your mail signature.  This su-
	      persedes the "Signature" profile entry, and is not used when the
	      "Local-Mailbox" profile component	is set.

       USER   This variable tells repl your user name  and  inc	 your  default
	      mail drop:  see the "MailDrop" profile entry.

       USERNAME_EXTENSION
	      This  variable  is for use with username_extension masquerading.
	      See mh-tailor(5).

       editalt
	      This is the alternate message.  This is set  by  dist  and  repl
	      during  edit  sessions  so you can peruse	the message being dis-
	      tributed or replied to.  The message is also available, when the
	      -atfile switch is	used, through a	link called "@"	in the current
	      directory	if your	current	working	directory and the  folder  the
	      message  lives  in  are on the same Unix filesystem, and if your
	      current working directory	is writable.

       mhaltmsg
	      dist and repl set	mhaltmsg to tell the whatnowproc about an  al-
	      ternate  message	associated  with  the draft (the message being
	      distributed or replied to).

       mhannotate
	      This is set by dist, forw, and repl if annotations are to	occur.

       mhdist dist sets	mhdist to tell the whatnowproc that message re-distri-
	      bution is	occurring.

       mhdraft
	      This is the path to the working draft.  It is set	by comp, dist,
	      forw, and	repl to	tell the whatnowproc which file	to  ask	 "What
	      now?" questions about.

       mheditor
	      This  is	set by comp, repl, forw, and dist to tell the whatnow-
	      proc the user's choice of	editor (unless overridden by -noedit).

       mhfolder
	      This is the folder containing the	alternate message.  It is  set
	      by  dist	and  repl during edit sessions so you can peruse other
	      messages in the current folder besides the one being distributed
	      or replied to.  The environment variable mhfolder	is also	set by
	      next, prev, and show for use by mhl.

       mhinplace
	      This is set by dist, forw, and repl if annotations are to	occur.

       mhmessages
	      This is set by dist, forw, and repl if annotations are to	occur.

       mhuse  This may be set by comp.

FILES
       $HOME/.mh-profile   The user's profile.
       <mh-dir>/context	   The user's context
       <folder>/.mh-sequences
			   Public sequences for	<folder>.

SEE ALSO
       mhbuild(1), mhshow(1), mhstore(1), mh-sequence(5), nmh(7), post(8)

BUGS
       There is	some question as to what kind of arguments should be placed in
       the profile as options.	In order to provide a clear answer, recall the
       command line semantics of all nmh programs: conflicting switches	 (e.g.
       -header	and  -noheader)	 may  occur  more than one time	on the command
       line, with the last switch taking effect.   Other  arguments,  such  as
       message	sequences, filenames and folders, are always remembered	on the
       invocation line and are not superseded by following  arguments  of  the
       same  type.   Hence, it is safe to place	only switches (and their argu-
       ments) in the profile.

       If one finds that an nmh	program	is being invoked again and again  with
       the same	arguments, and those arguments aren't switches,	then there are
       a  few  possible	 solutions  to this problem.  The first	is to create a
       (soft) link in your $HOME/bin directory to  the	nmh  program  of  your
       choice.	By giving this link a different	name, you can create a new en-
       try  in	your  profile and use an alternate set of defaults for the nmh
       command.	 Similarly, you	could create a small shell script which	called
       the nmh program of your choice with an alternate	set of invocation line
       switches	(using links and an alternate profile entry is	preferable  to
       this solution).

       Finally,	 the  csh  user	 could	create an alias	for the	command	of the
       form:

	    alias cmd 'cmd arg1	arg2 ...'

       In this way, the	user can avoid lengthy type-in to the shell, and still
       give nmh	commands safely.  (Recall that some nmh	commands  invoke  oth-
       ers,  and  that in all cases, the profile is read, meaning that aliases
       are disregarded beyond an initial command invocation)

nmh-1.8+dev			  2016-10-19			 MH-PROFILE(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mh_profile&sektion=5&manpath=FreeBSD+Ports+14.3.quarterly>

home | help