Like all sendmail.cf commands, the M mail delivery agent command must begin a line. One typical such command looks like this:
delivery program command line Mlocal, P=/bin/mail, F=rlsDFMmnP, S=10, R=20, A=mail -d $u flag sender/recipient rules
This M configuration command is composed of six parts: a symbolic name followed by five delivery agent equates, each separated from the others by commas. Spaces between the parts are optional. The specific syntax of the mail delivery agent command is:
Msymname, equate, equate, ...
The letter M always begins the delivery agent definition, followed by a symbolic name (the symname) of your choosing and a comma-separated list of delivery agent equates. Only the P= and A= delivery agent equates are required. The others are optional. If the P= is missing, sendmail will print and syslog(3) the following error:
configfile: line num: Msymname : P= argument required
If the A= is missing, sendmail will print and syslog(3) the following error:
configfile: line num: Msymname : A= argument required
In both error messages, configfile is the full pathname of the sendmail configuration file, num is the line number in that file where the error was found, and symname is the delivery agent definition that omitted the required piece of information.
The comma following the symbolic name is optional. As long as a space follows the symbolic name, sendmail parses it correctly. The comma should always be included for improved clarity, however.
In the following, the first example includes the comma, and the second omits it. Both are parsed by sendmail in exactly the same way:
Mlocal, P=/bin/mail, F=rlsDFMmnP, S=10, R=20, A=mail -d $u Mlocal P=/bin/mail, F=rlsDFMmnP, S=10, R=20, A=mail -d $u