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