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;
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:
The symbolic name of the program that handles
delivery on the local machine (usually /bin/mail).
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.