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.