MH-ALIAS(5) File Formats Manual MH-ALIAS(5) NAME mh-alias - format of nmh email-address 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 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 "\"-terminated com- ment line is a continuation of that comment line. Alias-file and file are Unix file names. Alias file contents are case-in- sensitive, 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 oc- cur 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. In match, a trailing "*" on an alias will match just about anything appro- priate. 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) For those addresses in the message that have no host specified, per- form 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 address-group to the address list if it is not already on the list. The alias itself is not usually output, rather the address-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 sgroup: fred, fear, freida fred: frated@UCI.example b-people: Blind List: bill, betty Unix-committee: <unix.aliases news.*: news The first line says that more aliases should immediately be read from the file /usr/local/etc/nmh/BBoardAliases. Next, "sgroup" is defined as an alias for three names, and one of them, "fred", is a forward reference to another alias for "frated@UCI.example". 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 mes- sage header will show only "Blind List: ;" (not the addresses). The alias must not be terminated with, or contain, a semicolon. Note that blind lists are not supported with the sendmail/pipe mail transport method. The definition of "Unix-committee" is given by reading the file unix.aliases in the user's nmh directory. Lastly, "news.anything" is aliased to "news"; the full stop is just another literal character. 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), post(8) BUGS Although the forward-referencing semantics of mh-alias files prevent recur- sion, the alias-file directive may defeat this. Since the number of file descriptors is finite, such infinite recursion will terminate with a mean- ingless 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 expanded. 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.8+dev 2014-04-18 MH-ALIAS(5)
NAME | DESCRIPTION | PROFILE COMPONENTS | FILES | SEE ALSO | BUGS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mh-alias&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>
