alex - extract addresses from message headers (only available within the
message handling system, mh)
alex [+folder] [msgs] [options]
Accepts an address that you type in, rather than taking an address from
a message. If any -field option is specified, it is ignored.
Specifies the name of the alias file, in which aliases are placed. You
must provide a file name or a dash (-) as an argument with this option.
There is no default value. If the value given for this option is -, or
the option is not specified, alex will print the output to your screen.
If you do not give the full pathname of your alias file, alex will look
for the alias file in your Mail directory, as specified in the Path
field of your .mh_profile file. If alex cannot locate the alias file in
the directory that you specify, it will ask you whether or not you wish
to create one.
You can set up an alias file to be used by alex in your .mh_profile;
see mh_profile(4) for more information. Like other mail commands, alex
uses the Aliasfile entry to find the alias file.
Prevents any repetition of the same address in the output of an alex
command. You can use this option when there are multiple occurrences
of an address in an address group and you want just one occurrence of
it in your alias. The default is -nocompress.
-field name[ /name ... ]
Specifies the name of a header field. The name of the field is not
case-sensitive. If you specify this option without providing an argu-
ment, the default values are: -field reply-to/sender/from/to. You can
set up your own default values for the -field option in your
.mh_profile. See mh_profile(4).
Examples of field names are From, cc and To. You must not type a colon
after the name of a field. When more field names follow, in the form
/name, the message header is searched for each of the fields in turn
until one is found. Only the first header field found to contain an
address is used; the rest are ignored.
The option -nofield excludes the named field.
The special name, all, means all fields, and can be used as a value for
the -nofield option to override any default order of header fields,
otherwise -field values are appended to any default values.
Specifies that any address replacements or appendings will apply to all
occurrences of that alias name. Normally, if an alias name is entered
in the alias file more than once, any actions performed by alex are
performed only on the first occurrence of that alias name. The -global
option ensures that any changes are made to all occurrences of the
alias. Whenever this option is specified, a message is broadcast to
your screen telling you how many entries in the alias file have been
Prints a list of the valid options for this command.
Specifies the alias name for address information extracted. The alex
command appends a colon (:) to the name as required by mh-alias(4). If
you do not specify this option,alex will print extracted addresses to
your screen. If you specify this option, you must provide an argument;
there is no default value.
Extracts addresses interactively. Before adding each address of a list
of extracted addresses to an alias group, the mail system will ask you
whether you wish the address to be added. The query prompt is written
on the standard error output. The default is -noquery.
Replaces existing alias with the new list of addresses. By default, if
there is an existing alias with the same name as the one you are trying
to create, alex appends the new address list to the old alias. If an
address appears in both address groups, it is still appended, so that
it appears twice in the new alias. You can specify this explicitly by
using the -noreplace option. If you specify the -replace option, the
new list of addresses replaces the existing group. The default is
Specifies the maximum width of your alias file line. If an alias group
extends beyond this length, it is continued on the next line, with a
backslash (\) at end of the first line. Any X.400 addresses which are
longer than the maximum line length specified by this option are
automatically wrapped onto the next line. This option affects the for-
mat of each individual entry when it is implemented; any subsequent or
previous entries in the alias file remain the same. The default is 72
The address line extraction utility alex extracts electronic mail addresses
from message headers and prints the addresses on your screen or places
them, with a specified alias name, in an alias file.
By default, alex searches for addresses in the current message in the
current folder. You can list the messages you wish alex to search giving a
msgs argument. You can also search messages in a different folder by giv-
ing a +folder argument.
You define the fields from which you want addresses by using combinations
of field names with the -field option. You can also supply an address your-
self as a value to the -address option. Results are printed either to your
screen or to a file in mh-alias(4) format. Where there is an address group
in the alias file with an alias name identical to one you have specified in
an alex command, it may be replaced or the new addresses appended. A copy
of the original alias file is kept.
By default, alex searches the Reply-to:, Sender:, From: and To: header
fields in that order until an address is found. You can set up your own
default values for alex in your .mh_profile file; see mh_profile(4).
When giving options to the alex command, generally the shortest unique
Because the -nofield option can take the value all as an argument, alex
will not recognize a header field called All. If you wish to use such a
header field, you should call it X-all.
If a command line contains contradictory arguments then the last value
specified is used. For example, in the following command, alex only uses
the options -name fred and -noreplace:
% alex -name sam -name fred -replace -noreplace
1. This example takes the address from the From field of the current mes-
sage, and places it in your alias file with the alias name bob:
% alex -field from -alias aliases -name bob
2. The following example shows what happens if you specify an alias file
that does not exist. You are asked whether you want to create the
file; enter y to create it:
% alex -field from -name bob -alias aliases
Create alias file "HOME/Mail/aliases"? y
3. The next example takes addresses from two fields, From and cc, and
saves them as the alias sales_team:
% alex -field from -field cc -alias aliases -name sales_team
Your user profile.
ali(1), mh(1), pick(1), mh-alias(4), mh_profile(4)