The
M
that begins the delivery agent definition command
is immediately followed, with no intervening whitespace, by
the name of the delivery agent. Note that
the name is symbolic and is used
only internally by
sendmail
. The name may contain
no whitespace, and, if it is quoted, the quotation marks are
interpreted as part of its name. In the following, only the first
is a good symbolic name:
Mlocal
name is "local", good
M local
error: "name required for mailer"
Mmy mailer
error: "mailer my: `=' expected"
M"mymailer"
quotation marks wrongly retained
Although the symbolic name can contain any character other than a space or a comma,
only letters, digits, dashes, and underscore characters are recommended:
Mprog-mailer
name is "prog-mailer", good
Mprog_mailer
name is "prog_mailer", good
Mmymailer[];
name contains a "[];", avoid such characters
The symbolic name is not case-sensitive;
that is,
local
,
Local
, and
LOCAL
are all identical.
Note that if two delivery agents have the same name, all the equates for the second definition
replace those for the first. Therefore the last definition for a particular symbolic name
is the one that is used.
The cumulative result of all delivery agent declarations can be seen
by using the
-d0.15
debugging switch (see
Section 37.5.4, -d0.15
)
or by using the
=M
rule-testing command (see
Section 38.4.2, "Show Delivery Agents with =M"
).
Prior to V8.1, two delivery agent
symbolic names
had to be
defined in every configuration file:
local
The symbolic name of the program that handles
delivery on the local machine (usually
/bin/mail
).
prog
The symbolic name
of the program that executes other programs for delivery (usually
the
/bin/sh
shell).
Beginning with V8.1, only the
local
delivery agent is required.
If a required definition is missing,
sendmail
prints
one of the following warning messages but continues to run:
No prog mailer defined.
No local mailer defined.