# Postfix Configuration Parameters

## Postfix main.cf file format

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.

The general format of the main.cf file is as follows:

- Each logical line is in the form "parameter = value". Whitespace around the "=" is ignored, as is whitespace at the end of a logical line.

- Empty lines and whitespace-only lines are ignored, as are lines whose first non-whitespace character is a `#'.

- A logical line starts with non-whitespace text. A line that starts with whitespace continues a logical line.

- A parameter value may refer to other parameters.

  - The expressions "$name", "${name}" or "$(name)" are recursively replaced by the value of the named parameter.

  - The expression "${name?value}" expands to "value" when "$name" is non-empty. This form is supported with Postfix version 2.2 and later.

  - The expression "${name:value}" expands to "value" when "$name" is empty. This form is supported with Postfix version 2.2 and later.

  - Specify "$$" to produce a single "$" character.

- When the same parameter is defined multiple times, only the last instance is remembered.

- Otherwise, the order of main.cf parameter definitions does not matter.

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 "postconf -d" command.

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.