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 can 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:
Mlocalname is local, good M local
error: name required for mailer Mmy mailer
error: mailer my: `=' expected M"mymailer"
quotation marks are 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-mailername is prog-mailer, good Mprog_mailer
name is prog_mailer, good Mmymailer[ ];
name contains [ ];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 delivery agent 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 (-d0.15) or the =M rule-testing command (Section 8.4.2).
Only the local delivery agent is required,[2] so if that required definition is missing, sendmail prints the following warning message but continues to run:
[2] Prior to V8 sendmail, both local and prog were required.
No local mailer defined.