xref: /netbsd-src/external/ibm-public/postfix/dist/proto/postconf.html.prolog (revision fc4f42693f9b1c31f39f9cf50af1bf2010325808)
1<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
2        "http://www.w3.org/TR/html4/loose.dtd">
3
4<html>
5
6<head>
7
8<title>Postfix Configuration Parameters </title>
9
10<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
11
12</head>
13
14<body>
15
16<h1><img src="postfix-logo.jpg" width="203" height="98" alt="">Postfix Configuration Parameters </h1>
17
18<hr>
19
20<h2> Postfix main.cf file format </h2>
21
22<p> The Postfix main.cf configuration file specifies a very small
23subset of all the parameters that control the operation of the
24Postfix mail system. Parameters not explicitly specified are left
25at their default values. </p>
26
27<p> The general format of the main.cf file is as follows: </p>
28
29<ul>
30
31<li> <p> Each logical line is in the form "parameter = value".
32Whitespace around the "=" is ignored, as is whitespace at the end
33of a logical line. </p>
34
35<li> <p> Empty lines and whitespace-only lines are ignored, as are
36lines whose first non-whitespace character is a `#'. </p>
37
38<li> <p> A logical line starts with non-whitespace text. A line
39that starts with whitespace continues a logical line. </p>
40
41<li> <p> A parameter value may refer to other parameters. </p>
42
43<ul>
44
45<li> <p> The expressions "$name" and "${name}" are recursively
46replaced with the value of the named parameter, except where noted.
47An undefined parameter value is replaced with the empty value.  </p>
48
49<li> <p> The expressions "${name?value}" and "${name?{value}}" are
50replaced with "value" when "$name" is non-empty. These forms are
51supported with Postfix versions &ge; 2.2 and &ge; 3.0, respectively.
52</p>
53
54<li> <p> The expressions "${name:value}" and "${name?{value}}" are
55replaced with "value" when "$name" is empty. These forms are supported
56with Postfix versions &ge; 2.2 and &ge; 3.0, respectively.  </p>
57
58<li> <p> The expression "${name?{value1}:{value2}}" is replaced
59with "value1" when "$name" is non-empty, and with "value2" when
60"$name" is empty.  The "{}" is required for "value1", optional for
61"value2".  This form is supported with Postfix versions &ge; 3.0.
62</p>
63
64<li> <p> The first item inside "${...}" may be a logical expression
65of the form: "{value3} == {value4}". Besides the "==" (equality)
66operator Postfix supports "!=" (inequality), "&lt;", "&le;", "&ge;",
67and "&gt;". The comparison is numerical when both operands are all
68digits, otherwise the comparison is lexicographical. These forms
69are supported with Postfix versions &ge; 3.0. </p>
70
71<li> <p> Each "value" is subject to recursive named parameter and
72logical expression evaluation, except where noted.  </p>
73
74<li> <p> Whitespace before or after each "{value}" is ignored. </p>
75
76<li> <p> Specify "$$" to produce a single "$" character. </p>
77
78<li> <p> The legacy form "$(...)" is equivalent to the preferred
79form "${...}". </p>
80
81</ul>
82
83<li> <p> When the same parameter is defined multiple times, only
84the last instance is remembered. </p>
85
86<li> <p> Otherwise, the order of main.cf parameter definitions does
87not matter. </p>
88
89</ul>
90
91<p> The remainder of this document is a description of all Postfix
92configuration parameters. Default values are shown after the
93parameter name in parentheses, and can be looked up with the
94"<b>postconf -d</b>" command. </p>
95
96<p> Note: this is not an invitation to make changes to Postfix
97configuration parameters. Unnecessary changes are likely to impair
98the operation of the mail system.  </p>
99
100<dl>
101