But think back to your early days of C programming.
Did you feel any more comfortable with an expression like this?
The sendmail.cf file is read and
parsed by sendmail every time sendmail starts.
It contains information that is necessary for
sendmail to run. It lists the locations of important files and
specifies the default permissions for those files. It contains options that
modify sendmail's behavior. Most important, it contains
rules and rule sets for rewriting addresses.
The sendmail.cf configuration file is line-oriented.
A configuration command, composed of a single letter, begins each
line:
V7
good
V7
bad, does not begin a line
V7 Fw/etc/mxhosts
bad, two commands on one line
Fw/etc/mxhosts
good
Each configuration command
is followed by parameters that are specific to it.
For example, the V command is followed
by a number, whereas the F command is followed
by the letter w, then the full pathname of a file.
The complete list of configuration commands
[1]
is shown in
Table 5.1.
Table 5.1: The sendmail.cf File's Configuration Commands| Command | Description |
|---|
| V | Define configuration file version (beginning with V8.6) |
| M | Define a mail delivery agent |
| D | Define a macro |
| R | Define a rewriting rule |
| S | Declare a rule-set start |
| C | Define a class macro |
| F | Define a class macro from a file or a pipe |
| O | Define an option |
| H | Define a header |
| P | Define delivery priorities |
| T | Declare trusted users (ignored in V8.1, back in V8.7) |
| K | Declare a keyed database (beginning with V8.1) |
| E | Define an environment variable (beginning with V8.7) |
| L | Include extended load average support (contributed software, not covered) |
Some commands, such as V should appear only once
in your sendmail.cf file.
Others, such as R, may appear often.
Blank lines and lines that begin
with the # character are considered comments and are ignored.
A line that begins with either a tab or a space character is a
continuation of the preceding line:
# a comment
V7
/Berkeley <- continuation of V line above
tab
Note that anything other than a command,
a blank line,
a space, a tab, or a # character
causes an error. If the sendmail program finds
such a character, it
prints the following warning, ignores that line, and continues to
read the configuration file:
sendmail.cf: line 15: unknown control line "v6"
Here, sendmail found a line in its sendmail.cf file
that began with the letter v. Since a lowercase v is not
a legal command, sendmail printed a warning. The line number in the
warning is that
of the line in the sendmail.cf file that began with the
illegal character.
An example of each kind of command is illustrated in the following
sections. They are
actual commands that you will see described throughout this tutorial.
Don't be concerned if you don't understand the details at this time.
All that is now mysterious will eventually become clear.