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 - 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".  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 the mh-sequence(5) man page for the details
	    about this sequence.  (profile, no default)

       Sequence-Negation: not
	    Defines the	string	which,	when  prefixed	to  a  sequence	 name,
	    negates  that sequence.  Hence, "notseen" means all	those messages
	    that are not a member of the sequence  "seen".   Read  the	mh-se-
	    quence(5) man page 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  the	mh-sequence(5)
	    man	 page  for  the	details	about this sequence.  (profile,	no de-
	    fault)

       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 the mh-sequence(5) man page for  details	about  private
	    sequences.	(context, no default)

       Editor: vi
	    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: vi)

       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  the  mh-draft(5) man page for	details.  (profile, no
	    default)

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

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

       MailDrop: .mail
	    Tells inc your 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

	    The	 password  for	POP service when the -sasl switch is used with
	    one	of these programs is the login name on the local machine.

	    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.7.1

   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 send 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.

       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.

       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 the inc(1) man page 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.

       MHPDEBUG
	      If this variable is set to a non-null value, pick	 will  emit  a
	      representation  of  the search pattern.  MHPDEBUG	is deprecated,
	      so support for this variable will	be removed from	a  future  nmh
	      release.	Instead, pick now supports a -debug switch.

       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 the mh-tailor(5) man page.

       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)

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.7.1			  2016-10-19			 MH-PROFILE(5)

NAME | DESCRIPTION | ENVIRONMENT | FILES | SEE ALSO | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=mh-profile&sektion=5&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help