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 ≥ 2.2 and ≥ 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 ≥ 2.2 and ≥ 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≥ 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), "<", "≤", "≥", 73and ">". The comparison is numerical when both operands are all 74digits, otherwise the comparison is lexicographical. These forms 75are supported with Postfix versions ≥ 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