home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam    


sendmailSearch this book
Previous: 29.11 Pitfalls Chapter 30 Next: 30.2 The Symbolic Name

30. Delivery Agents

The sendmail program does not perform the actual delivery of mail. Instead, it calls other programs (called mail delivery agents) to perform that service. Because the mechanics of delivery can vary so widely from delivery agent to delivery agent, sendmail needs a great deal of information about each delivery agent. Each sendmail M configuration-file command defines a mail delivery agent and the information that sendmail needs.

30.1 Configuration File Syntax

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

sender/recipient rules

This M configuration command is composed of six parts: a symbolic name followed by five equates, each separated from the others by commas. Spaces between the parts are optional. The specific syntax of the mail delivery agent command is


symname, 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= equates are required. The others are optional.

The comma following the symbolic name is optional. As long as there is a space following the symbolic name, sendmail parses it correctly. The comma should, however, always be included for improved clarity. [1]

[1] SunOS 4.1.2's sendmail does not properly support freezing if the comma is present.

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