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

FreeBSD Manual Pages

  
 
  

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

NAME
       mh-alias	- format of nmh	alias files

DESCRIPTION
       Each line of an nmh alias file takes one	of the following forms:

	    alias : address-group

	    alias ; address-group

	    < alias-file

	    ; |	: | # comment

       where:

	    address-group  := address-list
			   |  <	file
			   |  =	UNIX-group
			   |  +	UNIX-group
			   |  *

	    address-list   := address
			   |  address-list, address

       Continuation  lines end with "\"	followed by a newline character.  This
       also applies to comment lines.  Thus, the line following	 a  "\"-termi-
       nated comment line is a continuation of that comment line.

       Alias-file and file are UNIX file names.	 UNIX-group is a group name or
       number from the system's	group database.	 Alias file contents are case-
       insensitive, with the exception of filesystem path names.

       If the line starts with a "<", the file named after the "<" is read for
       more alias definitions.	The reading is done recursively, so a "<"  may
       occur in	the beginning of an alias file with the	expected results.

       If the address-group starts with	a "<", the file	named after the	"<" is
       read and	its contents are added to the address-list for the alias.

       If the address-group starts with	an "=",	the system's group database is
       consulted  for the UNIX-group named after the "=".  Each	login name oc-
       curring as a member of the group	is added to the	address-list  for  the
       alias.

       In contrast, if the address-group starts	with a "+", the	system's group
       database	is consulted to	determine the group-id of the UNIX-group named
       after  the  "+".	  Each	login  name occurring in the system's password
       database	whose group-id is indicated by this group is added to the  ad-
       dress-list for the alias.

       If  the	address-group is simply	"*", the system's password database is
       consulted and all login names with a userid  greater  than  some	 magic
       number (usually 200) are	added to the address-list for the alias.  This
       feature is obsolescent and will be removed in a future release.

       In match, a trailing "*"	on an alias will match just about anything ap-
       propriate.

       An approximation	of the way aliases are resolved	at posting time	is:

       1)     Build  a list of all addresses from the message to be delivered,
	      eliminating duplicate addresses.

       2)     If this draft originated on the local host, then for  those  ad-
	      dresses  in  the	message	 that  have no host specified, perform
	      alias resolution.

       3)     For each line in the alias file, compare "alias" against all  of
	      the  existing addresses.	If a match, remove the matched "alias"
	      from the address list, and add  each  new	 address  in  the  ad-
	      dress-group  to  the  address  list  if it is not	already	on the
	      list.  The alias itself is not usually output,  rather  the  ad-
	      dress-group  that	 the  alias  maps  to  is  output instead.  If
	      "alias" is terminated with a ";" instead of a ":", then both the
	      "alias"  and  the	address	are output in the correct format (with
	      the alias	quoted if necessary and	the address wrapped in <>).

       Since the mh-alias file is read line by line, forward references	 work,
       but backward references are not recognized.

   Example Alias File
	    </usr/local/etc/nmh/BBoardAliases
	    fred: frated@UCI.example
	    sgroup: fred, fear,	freida
	    b-people: Blind List: bill,	betty
	    UNIX-committee: <unix.aliases
	    staff: =staff
	    wheels: +wheel
	    news.*: news

       The  first  line	says that more aliases should immediately be read from
       the file	/usr/local/etc/nmh/BBoardAliases.  Following this,  "fred"  is
       defined	as  an alias for "frated@UCI.example", and "sgroup" is defined
       as an alias for	the  three  names  "frated@UCI.example",  "fear",  and
       "freida".

       The  alias  "b-people"  is  a  blind  list which	includes the addresses
       "bill" and "betty"; the message will be delivered to  those  addresses,
       but  the	 message  header  will	show only "Blind List: ;" (not the ad-
       dresses).  The alias must not be	terminated with, or contain,  a	 semi-
       colon.	Note that blind	lists are not supported	with the sendmail/pipe
       mail transport method.

       Next, the definition of "UNIX-committee"	is given by reading  the  file
       unix.aliases  in	 the  user's  nmh directory, "staff" is	defined	as all
       users who are listed as members of the group "staff"  in	 the  system's
       group  database,	and "wheels" is	defined	as all users whose group-id in
       the system's password database is equivalent to the "wheel" group.

PROFILE	COMPONENTS
       Aliasfile:	   Default alias file.

FILES
       /usr/local/etc/nmh/MailAliases
			   System-wide default alias file.

SEE ALSO
       ali(1),	send(1),  whom(1),  getgrent(3),   getpwent(3),	  conflict(8),
       post(8)

BUGS
       Although	 the  forward-referencing  semantics of	mh-alias files prevent
       recursion, the alias-file directive may defeat this.  Since the	number
       of  file	 descriptors is	finite,	such infinite recursion	will terminate
       with a meaningless diagnostic when all the fds are used up.

       Earlier versions	of this	man page showed	a semicolon at the end of  the
       blind  list  example.   That  caused  the preceding alias to not	be ex-
       panded.	There must not be a semicolon at the end of,  or  within,  the
       address	group  of a blind list.	 post will append the semicolon	to the
       blind list name.

nmh-1.6				 Oct 14, 2012			   MH-ALIAS(5)

NAME | DESCRIPTION | PROFILE COMPONENTS | FILES | SEE ALSO | BUGS

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

home | help