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