reads the configuration file, macros that are declared
in that file are assigned values. The configuration-file command that declares
macros begins with the letter
. There may only
be a single macro command per line.
The form of the
macro configuration command is:
The symbolic name of the macro (here,
) is a single-character
or a multicharacter name (see
Section 31.4, "Macro Names"
single-character name X
multicharacter name XXX
This must immediately follow the
with no intervening
space. The value that is given to the macro is the
consisting of all characters beginning with the first character following
the name and including all characters up to the end of the line.
Any indented lines that follow the definition are joined to
that definition. When joined, the newline and indentation characters
are retained. Consider the following three configuration lines:
These are read and joined by
to form the following
value for the macro named
represents a newline character, and the
represents a tab character.
is missing, the value assigned to the
macro is that of an empty string; that is, a single
byte that has a value of zero.
If both the name and the
the following error is printed, and that
line is ignored:
Name required for macro/class
shows the macro names that
(prior to V8.6)
be given values in the configuration file.
Each of these macros is described at the end of this chapter in
. Prior to V8.7, failure to define
a required macro could have resulted in unpredictable problems.
Beginning with V8.7
, no macros are required.
Some are predefined
for you by
, and others have become options.
of a macro's value in the configuration
file may contain escaped control codes.
Control codes are embedded
by using a backslash escape notation. The backslash escape
notations understood by
are listed in
All other escaped characters are taken as is.
For example, the notation
is converted to a backspace
character (usually a CTRL-H).
DXO\bc May\, 1996
O^Hc May, 1996
is translated into a backspace (
character, and the
is translated into a lone comma
Note that prior to V8.8, the first comma and all characters following it were
stripped from the text unless the comma was quoted or escaped. For example,
Beginning with V8.8
, the comma is no longer special in
will have the quotation marks stripped.
Only double quotation marks are recognized. Multiple parts of
may be quoted, or text may be quoted entirely.
Trailing spaces are automatically stripped. If you need to keep trailing
spaces you need to quote them:
Leading space characters are retained in
whether they are quoted
or not. Spaces are harmless provided that the macro
is used only in rules (because spaces are token separators); but
if the macro is used to define other macros, problems can arise.
used to define the
macro is used in
the HELO SMTP command and in the
line. The value given to
by the above is
Here, the value of
should contain a correctly formed, fully qualified
domain name. The unwanted spaces cause it to become
incorrectly formed, which can cause mail to fail.