Avoid
accidentally creating an empty-looking line (one that contains only
invisible space and tab characters) in the
sendmail.cf file when you really intend to
create a blank line (one that contains only the newline character).
The empty-looking line is joined by sendmail to
the line above it and is likely to cause mysterious problems that are
difficult to debug. One way to find such lines is to run a command
such as the following, where there is a single space between the
^ and the dot:
% grep '^ .*$' /etc/mail/sendmail.cf
Prior to V8 sendmail the maximum length of any
given sendmail.cf line of text was defined in
conf.h as MAXLINE. That maximum length was
usually 1024 characters, which included the end-of-line character and
any continuation lines. If sendmail read a line
that was longer than MAXLINE, it silently
truncated that line to MAXLINE-1 and terminated the result with a
zero value. Note that sendmail read the entire
line but ignored the excess characters. This allowed it to accurately
keep track of where the next line started. V8
sendmail has no limit for line lengths.
Prior to V8 sendmail the last line in your
sendmail.cf file had to end with a newline
character. Some editors, such as emacs(1), are
capable of writing a file in which the last line does not end with a
newline character. If that trailing newline was missing from the last
line, sendmail silently ignored it, thus
treating that line as though it didn't exist. This
has been fixed in V8 sendmail.
Under V8 sendmail, it is a mistake to edit your
configuration file directly because that file is generated from
m4 source. The correct way to change your
configuration file is to edit the m4 source and
generate a new configuration file from that source (see Chapter 4).
Avoid the temptation to devise tools that parse the
sendmail configuration file. Future versions of
sendmail might dramatically change the internals
of the configuration file and might obsolete your work.