postconf | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
NAME | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
SYNOPSIS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
postconf parameter ... postconf -e "parameter=value" ...
DESCRIPTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The general format of the main.cf file is as follows:
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 can impair the operation of the mail system.
2bounce_notice_recipient (default: postmaster) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
access_map_reject_code (default: 554) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Do not change this unless you have a complete understanding of RFC 821.
address_verify_default_transport (default: $default_transport) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
address_verify_local_transport (default: $local_transport) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
address_verify_map (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, the information is kept in volatile memory, and is lost after "postfix reload" or "postfix stop".
Specify a location in a file system that will not fill up. If the database becomes corrupted, the world comes to an end. To recover delete the file and do "postfix reload".
As of version 2.5, Postfix no longer uses root privileges when opening this file. The file should now be stored under the Postfix-owned data_directory. As a migration aid, an attempt to open the file under a non-Postfix directory is redirected to the Postfix-owned data_directory, and a warning is logged.
Examples:
address_verify_map = hash:/var/lib/postfix/verify address_verify_map = btree:/var/lib/postfix/verify
address_verify_negative_cache (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
address_verify_negative_expire_time (default: 3d) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
address_verify_negative_refresh_time (default: 3h) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
address_verify_poll_count (default: 3) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default poll count is 3.
Specify 1 to implement a crude form of greylisting, that is, always defer the first delivery request for a never seen before address.
Example:
address_verify_poll_count = 1
address_verify_poll_delay (default: 3s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default polling delay is 3 seconds.
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
address_verify_positive_expire_time (default: 31d) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
address_verify_positive_refresh_time (default: 7d) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
address_verify_relay_transport (default: $relay_transport) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
address_verify_relayhost (default: $relayhost) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
address_verify_sender (default: $double_bounce_sender) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify an empty value (address_verify_sender =) or <> if you want to use the null sender address. Beware, some sites reject mail from <>, even though RFCs require that such addresses be accepted.
Examples:
address_verify_sender = <> address_verify_sender = postmaster@my.domain
address_verify_sender_dependent_relayhost_maps (default: $sender_dependent_relayhost_maps) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
address_verify_service_name (default: verify) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
address_verify_transport_maps (default: $transport_maps) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
address_verify_virtual_transport (default: $virtual_transport) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
alias_database (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This is a separate configuration parameter because not all the tables specified with $alias_maps have to be local files.
Examples:
alias_database = hash:/etc/aliases alias_database = hash:/etc/mail/aliases
alias_maps (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default list is system dependent. On systems with NIS, the default is to search the local alias database, then the NIS alias database.
If you change the alias database, run "postalias /etc/aliases" (or wherever your system stores the mail alias file), or simply run "newaliases" to build the necessary DBM or DB file.
The local(8) delivery agent disallows regular expression substitution of $1 etc. in alias_maps, because that would open a security hole.
The local(8) delivery agent will silently ignore requests to use the proxymap(8) server within alias_maps. Instead it will open the table directly. Before Postfix version 2.2, the local(8) delivery agent will terminate with a fatal error.
Examples:
alias_maps = hash:/etc/aliases, nis:mail.aliases alias_maps = hash:/etc/aliases
allow_mail_to_commands (default: alias, forward) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify zero or more of: alias, forward or include, in order to allow commands in aliases(5), .forward files or in :include: files, respectively.
Example:
allow_mail_to_commands = alias,forward,include
allow_mail_to_files (default: alias, forward) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify zero or more of: alias, forward or include, in order to allow "/file/name" destinations in aliases(5), .forward files and in :include: files, respectively.
Example:
allow_mail_to_files = alias,forward,include
allow_min_user (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
As of Postfix version 2.5, this feature is implemented by trivial-rewrite(8). With earlier versions this feature was implemented by qmgr(8) and was limited to recipient addresses only.
allow_percent_hack (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: with Postfix version 2.2, message header address rewriting happens only when one of the following conditions is true:
To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".
Example:
allow_percent_hack = no
allow_untrusted_routing (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, this feature is turned off. This closes a nasty open relay loophole where a backup MX host can be tricked into forwarding junk mail to a primary MX host which then spams it out to the world.
This parameter also controls if non-local addresses with sender-specified routing can match Postfix access tables. By default, such addresses cannot match Postfix access tables, because the address is ambiguous.
alternate_config_directories (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This list must be specified in the default Postfix configuration directory, and is used by set-gid Postfix commands such as postqueue(1) and postdrop(1).
always_bcc (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: if mail to the BCC address bounces it will be returned to the sender.
Note: automatic BCC recipients are produced only for new mail. To avoid mailer loops, automatic BCC recipients are not generated for mail that Postfix forwards internally, nor for mail that Postfix generates itself.
anvil_rate_time_unit (default: 60s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is implemented by the anvil(8) service which is available in Postfix version 2.2 and later.
The default interval is relatively short. Because of the high frequency of updates, the anvil(8) server uses volatile memory only. Thus, information is lost whenever the process terminates.
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
anvil_status_update_time (default: 600s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.2 and later.
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
append_at_myorigin (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note 1: this feature is enabled by default and must not be turned off. Postfix does not support domain-less addresses.
Note 2: with Postfix version 2.2, message header address rewriting happens only when one of the following conditions is true:
To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".
append_dot_mydomain (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note 1: this feature is enabled by default. If disabled, users will not be able to send mail to "user@partialdomainname" but will have to specify full domain names instead.
Note 2: with Postfix version 2.2, message header address rewriting happens only when one of the following conditions is true:
To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".
application_event_drain_time (default: 100s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
authorized_flush_users (default: static:anyone) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, all users are allowed to flush the queue. Access is always granted if the invoking user is the super-user or the $mail_owner user. Otherwise, the real UID of the process is looked up in the system password file, and access is granted only if the corresponding login name is on the access list. The username "unknown" is used for processes whose real UID is not found in the password file.
Specify a list of user names, "/file/name" or "type:table" patterns, separated by commas and/or whitespace. The list is matched left to right, and the search stops on the first match. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a name matches a lookup key (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude a name from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
authorized_mailq_users (default: static:anyone) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, all users are allowed to view the queue. Access is always granted if the invoking user is the super-user or the $mail_owner user. Otherwise, the real UID of the process is looked up in the system password file, and access is granted only if the corresponding login name is on the access list. The username "unknown" is used for processes whose real UID is not found in the password file.
Specify a list of user names, "/file/name" or "type:table" patterns, separated by commas and/or whitespace. The list is matched left to right, and the search stops on the first match. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a name matches a lookup key (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude a user name from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
authorized_submit_users (default: static:anyone) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, all users are allowed to submit mail. Otherwise, the real UID of the process is looked up in the system password file, and access is granted only if the corresponding login name is on the access list. The username "unknown" is used for processes whose real UID is not found in the password file. To deny mail submission access to all users specify an empty list.
Specify a list of user names, "/file/name" or "type:table" patterns, separated by commas and/or whitespace. The list is matched left to right, and the search stops on the first match. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a name matches a lookup key (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude a user name from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
Example:
authorized_submit_users = !www, static:all
authorized_verp_clients (default: $mynetworks) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, only trusted clients are allowed to specify XVERP.
This parameter was introduced with Postfix version 1.1. Postfix version 2.1 renamed this parameter to smtpd_authorized_verp_clients and changed the default to none.
Specify a list of network/netmask patterns, separated by commas and/or whitespace. The mask specifies the number of bits in the network part of a host address. You can also specify hostnames or .domain names (the initial dot causes the domain to match any name below it), "/file/name" or "type:table" patterns. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a table entry matches a lookup string (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude an address or network block from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
Note: IP version 6 address information must be specified inside [] in the authorized_verp_clients value, and in files specified with "/file/name". IP version 6 addresses contain the ":" character, and would otherwise be confused with a "type:table" pattern.
backwards_bounce_logfile_compatibility (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
berkeley_db_create_buffer_size (default: 16777216) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
berkeley_db_read_buffer_size (default: 131072) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
best_mx_transport (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify, for example, "best_mx_transport = local" to pass the mail from the Postfix SMTP client to the local(8) delivery agent. You can specify any message delivery "transport" or "transport:nexthop" that is defined in the master.cf file. See the transport(5) manual page for the syntax and meaning of "transport" or "transport:nexthop".
However, this feature is expensive because it ties up a Postfix SMTP client process while the local(8) delivery agent is doing its work. It is more efficient (for Postfix) to list all hosted domains in a table or database.
biff (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
For compatibility reasons this feature is on by default. On systems with lots of interactive users, the biff service can be a performance drain. Specify "biff = no" in main.cf to disable.
body_checks (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: with Postfix versions before 2.0, these rules inspect all content after the primary message headers.
body_checks_size_limit (default: 51200) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
bounce_notice_recipient (default: postmaster) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
bounce_queue_lifetime (default: 5d) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is d (days).
Specify 0 when mail delivery should be tried only once.
bounce_service_name (default: bounce) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
bounce_size_limit (default: 50000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
bounce_template_file (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Template message body text may contain $name references to Postfix configuration parameters. The result of $name expansion can be previewed with "postconf -b file_name" before the file is placed into the Postfix configuration directory.
broken_sasl_auth_clients (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify "broken_sasl_auth_clients = yes" to have Postfix advertise AUTH support in a non-standard way.
canonical_classes (default: envelope_sender, envelope_recipient, header_sender, header_recipient) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify one or more of: envelope_sender, envelope_recipient, header_sender, header_recipient
canonical_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
If you use this feature, run "postmap /etc/postfix/canonical" to build the necessary DBM or DB file after every change. The changes will become visible after a minute or so. Use "postfix reload" to eliminate the delay.
Note: with Postfix version 2.2, message header address mapping happens only when message header address rewriting is enabled:
To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".
Examples:
canonical_maps = dbm:/etc/postfix/canonical canonical_maps = hash:/etc/postfix/canonical
cleanup_service_name (default: cleanup) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
command_directory (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
command_execution_directory (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The following $name expansions are done on command_execution_directory before the directory is changed. Expansion happens in the context of the delivery request. The result of $name expansion is filtered with the character set that is specified with the execution_directory_expansion_filter parameter.
Instead of $name you can also specify ${name} or $(name).
command_expansion_filter (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
command_time_limit (default: 1000s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: if you set this time limit to a large value you must update the global ipc_timeout parameter as well.
config_directory (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
With Postfix command that run with set-gid privileges, a config_directory override requires either root privileges, or it requires that the directory is listed with the alternate_config_directories parameter in the default main.cf file.
connection_cache_protocol_timeout (default: 5s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
connection_cache_service_name (default: scache) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
connection_cache_status_update_time (default: 600s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
connection_cache_ttl_limit (default: 2s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
content_filter (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This parameter uses the same syntax as the right-hand side of a Postfix transport(5) table. This setting has a lower precedence than a content filter that is specified with an access(5) table or in a header_checks(5) or body_checks(5) table.
cyrus_sasl_config_path (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.5 and later when compiled with Cyrus SASL 2.1.22 or later.
daemon_directory (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
daemon_timeout (default: 18000s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
data_directory (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
debug_peer_level (default: 2) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
debug_peer_list (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify domain names, network/netmask patterns, "/file/name" patterns or "type:table" lookup tables. The right-hand side result from "type:table" lookups is ignored.
Pattern matching of domain names is controlled by the parent_domain_matches_subdomains parameter.
Examples:
debug_peer_list = 127.0.0.1 debug_peer_list = some.domain
debugger_command (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Use "command .. & sleep 5" so that the debugger can attach before the process marches on. If you use an X-based debugger, be sure to set up your XAUTHORITY environment variable before starting Postfix.
Example:
debugger_command = PATH=/usr/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
default_database_type (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Examples:
default_database_type = hash default_database_type = dbm
default_delivery_slot_cost (default: 5) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Each transport maintains a so-called "available delivery slot counter" for each message. One message can be preempted by another one when the other message can be delivered using no more delivery slots (i.e., invocations of delivery agents) than the current message counter has accumulated (or will eventually accumulate - see about slot loans below). This parameter controls how often is the counter incremented - it happens after each default_delivery_slot_cost recipients have been delivered.
The cost of 0 is used to disable the preempting scheduling completely. The minimum value the scheduling algorithm can use is 2 - use it if you want to maximize the message throughput rate. Although there is no maximum, it doesn't make much sense to use values above say 50.
The only reason why the value of 2 is not the default is the way this parameter affects the delivery of mailing-list mail. In the worst case, their delivery can take somewhere between (cost+1/cost) and (cost/cost-1) times more than if the preemptive scheduler was disabled. The default value of 5 turns out to provide reasonable message response times while making sure the mailing-list deliveries are not extended by more than 20-25 percent even in the worst case.
Use transport_delivery_slot_cost to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
Examples:
default_delivery_slot_cost = 0 default_delivery_slot_cost = 2
default_delivery_slot_discount (default: 50) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This parameter speeds up the moment when a message preemption can happen. Instead of waiting until the full amount of delivery slots required is available, the preemption can happen when transport_delivery_slot_discount percent of the required amount plus transport_delivery_slot_loan still remains to be accumulated. Note that the full amount will still have to be accumulated before another preemption can take place later.
Use transport_delivery_slot_discount to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
default_delivery_slot_loan (default: 3) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This parameter speeds up the moment when a message preemption can happen. Instead of waiting until the full amount of delivery slots required is available, the preemption can happen when transport_delivery_slot_discount percent of the required amount plus transport_delivery_slot_loan still remains to be accumulated. Note that the full amount will still have to be accumulated before another preemption can take place later.
Use transport_delivery_slot_loan to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
default_destination_concurrency_failed_cohort_limit (default: 1) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
A pseudo-cohort is the number of deliveries equal to a destination's delivery concurrency.
Use transport_destination_concurrency_failed_cohort_limit to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
This feature is available in Postfix 2.5. The default setting is compatible with earlier Postfix versions.
default_destination_concurrency_limit (default: 20) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Use transport_destination_concurrency_limit to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
default_destination_concurrency_negative_feedback (default: 1) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
As of Postfix version 2.5, negative feedback cannot reduce delivery concurrency to zero. Instead, a destination is marked dead (further delivery suspended) after the failed pseudo-cohort count reaches $default_destination_concurrency_failed_cohort_limit (or $transport_destination_concurrency_failed_cohort_limit). To make the scheduler completely immune to connection or handshake failures, specify a zero feedback value and a zero failed pseudo-cohort limit.
Specify one of the following forms:
A pseudo-cohort is the number of deliveries equal to a destination's delivery concurrency.
Use transport_destination_concurrency_negative_feedback to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
This feature is available in Postfix 2.5. The default setting is compatible with earlier Postfix versions.
default_destination_concurrency_positive_feedback (default: 1) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify one of the following forms:
A pseudo-cohort is the number of deliveries equal to a destination's delivery concurrency.
Use transport_destination_concurrency_positive_feedback to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
default_destination_rate_delay (default: 0s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
To enable the delay, specify a non-zero time value (an integral value plus an optional one-letter suffix that specifies the time unit).
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
NOTE: the delay is enforced by the queue manager. The delay timer state does not survive "postfix reload" or "postfix stop".
Use transport_destination_rate_delay to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
default_destination_recipient_limit (default: 50) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Setting this parameter to a value of 1 changes the meaning of the corresponding per-destination concurrency limit from concurrency per domain into concurrency per recipient.
Use transport_destination_recipient_limit to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
default_extra_recipient_limit (default: 1000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Use transport_extra_recipient_limit to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
default_minimum_delivery_slots (default: 3) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Use transport_minimum_delivery_slots to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
default_privs (default: nobody) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
default_process_limit (default: 100) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
default_rbl_reply (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.0 and later.
The template is subject to exactly one level of $name substitution:
Instead of $name you can also specify ${name} or $(name).
Note: when an enhanced status code is specified in an RBL reply template, it is subject to modification. The following transformations are needed when the same RBL reply template is used for client, helo, sender, or recipient access restrictions.
default_recipient_limit (default: 20000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Use transport_recipient_limit to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
default_recipient_refill_delay (default: 5s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Use transport_recipient_refill_delay to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
default_recipient_refill_limit (default: 100) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Use transport_recipient_refill_limit to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.
default_transport (default: smtp) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify a string of the form transport:nexthop, where transport is the name of a mail delivery transport defined in master.cf. The :nexthop part is optional. For more details see the transport(5) manual page.
Example:
default_transport = uucp:relayhostname
default_verp_delimiters (default: +=) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
defer_code (default: 450) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Do not change this unless you have a complete understanding of RFC 821.
defer_service_name (default: defer) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
defer_transports (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
defer_transports = smtp
delay_logging_resolution_limit (default: 2) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Large delay values are rounded off to an integral number seconds; delay values below the delay_logging_resolution_limit are logged as "0", and small delay values are logged with at most two-digit precision.
The format of the "delays=a/b/c/d" logging is as follows:
delay_notice_recipient (default: postmaster) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is enabled with the delay_warning_time parameter.
delay_warning_time (default: 0h) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
To enable this feature, specify a non-zero time value (an integral value plus an optional one-letter suffix that specifies the time unit).
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is h (hours).
deliver_lock_attempts (default: 20) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
deliver_lock_delay (default: 1s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
destination_concurrency_feedback_debug (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
detect_8bit_encoding_header (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
disable_dns_lookups (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
disable_mime_input_processing (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.0 and later.
Mime input processing is enabled by default, and is needed in order to recognize MIME headers in message content.
disable_mime_output_conversion (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
disable_verp_bounces (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default, one per recipient, is what ezmlm needs.
disable_vrfy_command (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
disable_vrfy_command = no
dont_remove (default: 0) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
double_bounce_sender (default: double-bounce) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
duplicate_filter_limit (default: 1000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
empty_address_recipient (default: MAILER-DAEMON) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
empty_address_relayhost_maps_lookup_key (default: <>) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.5 and later. With earlier versions, sender_dependent_relayhost_maps lookups were skipped for the null sender address.
enable_errors_to (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
enable_original_recipient (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
When this parameter is set to yes, the cleanup(8) daemon performs duplicate elimination on distinct pairs of (original recipient, rewritten recipient), and generates non-empty original recipient queue file records.
When this parameter is set to no, the cleanup(8) daemon performs duplicate elimination on the rewritten recipient address only, and generates empty original recipient queue file records.
This feature is available in Postfix 2.1 and later. With Postfix version 2.0, support for the X-Original-To message header is always turned on. Postfix versions before 2.0 have no support for the X-Original-To message header.
error_notice_recipient (default: postmaster) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
error_service_name (default: error) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
execution_directory_expansion_filter (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
expand_owner_alias (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
export_environment (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify a list of names and/or name=value pairs, separated by whitespace or comma. The name=value form is supported with Postfix version 2.1 and later.
Example:
export_environment = TZ PATH=/bin:/usr/bin
extract_recipient_limit (default: 10240) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
fallback_relay (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, mail is returned to the sender when a destination is not found, and delivery is deferred when a destination is unreachable.
The fallback relays must be SMTP destinations. Specify a domain, host, host:port, [host]:port, [address] or [address]:port; the form [host] turns off MX lookups. If you specify multiple SMTP destinations, Postfix will try them in the specified order.
Note: before Postfix 2.2, do not use the fallback_relay feature when relaying mail for a backup or primary MX domain. Mail would loop between the Postfix MX host and the fallback_relay host when the final destination is unavailable.
Postfix version 2.2 and later will not use the fallback_relay feature for destinations that it is MX host for.
fallback_transport (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The precedence of local(8) delivery features from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport and luser_relay.
fallback_transport_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The precedence of local(8) delivery features from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport and luser_relay.
For safety reasons, this feature does not allow $number substitutions in regular expression maps.
fast_flush_domains (default: $relay_domains) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, Postfix maintains "fast flush" logfiles only for destinations that the Postfix SMTP server is willing to relay to (i.e. the default is: "fast_flush_domains = $relay_domains"; see the relay_domains parameter in the postconf(5) manual).
Specify a list of hosts or domains, "/file/name" patterns or "type:table" lookup tables, separated by commas and/or whitespace. Continue long lines by starting the next line with whitespace. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when the domain or its parent domain appears as lookup key.
Specify "fast_flush_domains =" (i.e., empty) to disable the feature altogether.
fast_flush_purge_time (default: 7d) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
You can specify the time as a number, or as a number followed by a letter that indicates the time unit: s=seconds, m=minutes, h=hours, d=days, w=weeks. The default time unit is days.
fast_flush_refresh_time (default: 12h) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
You can specify the time as a number, or as a number followed by a letter that indicates the time unit: s=seconds, m=minutes, h=hours, d=days, w=weeks. The default time unit is hours.
fault_injection_code (default: 0) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
flush_service_name (default: flush) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
fork_attempts (default: 5) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
fork_delay (default: 1s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
forward_expansion_filter (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
forward_path (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The following $name expansions are done on forward_path before the search actually happens. The result of $name expansion is filtered with the character set that is specified with the forward_expansion_filter parameter.
Instead of $name you can also specify ${name} or $(name).
Examples:
forward_path = /var/forward/$user forward_path = /var/forward/$user/.forward$recipient_delimiter$extension, /var/forward/$user/.forward
frozen_delivered_to (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.3 and later. With older Postfix releases, the behavior is as if this parameter is set to "no". The old setting can be expensive with deeply nested aliases or .forward files. When an alias or .forward file changes the Delivered-To: address, it ties up one queue file and one cleanup process instance while mail is being forwarded.
hash_queue_depth (default: 1) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
After changing the hash_queue_names or hash_queue_depth parameter, execute the command "postfix reload".
hash_queue_names (default: deferred, defer) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Before Postfix version 2.2, the default list of hashed queues was significantly larger. Claims about improvements in file system technology suggest that hashing of the incoming and active queues is no longer needed. Fewer hashed directories speed up the time needed to restart Postfix.
After changing the hash_queue_names or hash_queue_depth parameter, execute the command "postfix reload".
header_address_token_limit (default: 10240) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
header_checks (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
header_size_limit (default: 102400) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
helpful_warnings (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
home_mailbox (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify a pathname ending in "/" for qmail-style delivery.
The precedence of local(8) delivery features from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport and luser_relay.
Examples:
home_mailbox = Mailbox home_mailbox = Maildir/
hopcount_limit (default: 50) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
html_directory (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
ignore_mx_lookup_error (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify "ignore_mx_lookup_error = yes" to force a DNS A record lookup instead. This violates the SMTP standard and can result in mis-delivery of mail.
import_environment (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify a list of names and/or name=value pairs, separated by whitespace or comma. The name=value form is supported with Postfix version 2.1 and later.
in_flow_delay (default: 1s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
With the default 100 SMTP server process limit, "in_flow_delay = 1s" limits the mail inflow to 100 messages per second above the number of messages delivered per second.
inet_interfaces (default: all) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note 1: you need to stop and start Postfix when this parameter changes.
Note 2: address information may be enclosed inside [], but this form is not required here.
When inet_interfaces specifies just one IPv4 and/or IPv6 address that is not a loopback address, the Postfix SMTP client will use this address as the IP source address for outbound mail. Support for IPv6 is available in Postfix version 2.2 and later.
On a multi-homed firewall with separate Postfix instances listening on the "inside" and "outside" interfaces, this can prevent each instance from being able to reach servers on the "other side" of the firewall. Setting smtp_bind_address to 0.0.0.0 avoids the potential problem for IPv4, and setting smtp_bind_address6 to :: solves the problem for IPv6.
A better solution for multi-homed firewalls is to leave inet_interfaces at the default value and instead use explicit IP addresses in the master.cf SMTP server definitions. This preserves the Postfix SMTP client's loop detection, by ensuring that each side of the firewall knows that the other IP address is still the same host. Setting $inet_interfaces to a single IPv4 and/or IPV6 address is primarily useful with virtual hosting of domains on secondary IP addresses, when each IP address serves a different domain (and has a different $myhostname setting).
See also the proxy_interfaces parameter, for network addresses that are forwarded to Postfix by way of a proxy or address translator.
Examples:
inet_interfaces = all (DEFAULT) inet_interfaces = loopback-only (Postfix version 2.2 and later) inet_interfaces = 127.0.0.1 inet_interfaces = 127.0.0.1, [::1] (Postfix version 2.2 and later) inet_interfaces = 192.168.1.2, 127.0.0.1
inet_protocols (default: ipv4) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.2 and later.
Note: you MUST stop and start Postfix after changing this parameter.
On systems that pre-date IPV6_V6ONLY support (RFC 3493), an IPv6 server will also accept IPv4 connections, even when IPv4 is turned off with the inet_protocols parameter. On systems with IPV6_V6ONLY support, Postfix will use separate server sockets for IPv6 and IPv4, and each will accept only connections for the corresponding protocol.
When IPv4 support is enabled via the inet_protocols parameter, Postfix will to DNS type A record lookups, and will convert IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original IPv4 form (1.2.3.4). The latter is needed on hosts that pre-date IPV6_V6ONLY support (RFC 3493).
When IPv6 support is enabled via the inet_protocols parameter, Postfix will do DNS type AAAA record lookups.
When both IPv4 and IPv6 support are enabled, the Postfix SMTP client will attempt to connect via IPv6 before attempting to use IPv4.
Examples:
inet_protocols = ipv4 (DEFAULT) inet_protocols = all inet_protocols = ipv6 inet_protocols = ipv4, ipv6
initial_destination_concurrency (default: 5) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Use transport_initial_destination_concurrency to specify a transport-specific override, where transport is the master.cf name of the message delivery transport (Postfix 2.5 and later).
Warning: with concurrency of 1, one bad message can be enough to block all mail to a site.
internal_mail_filter_classes (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
NOTE: It's generally not safe to enable content inspection of Postfix-generated email messages. The user is warned.
invalid_hostname_reject_code (default: 501) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Do not change this unless you have a complete understanding of RFC 821.
ipc_idle (default: version dependent) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
With Postfix 2.4 the default value was reduced from 100s to 5s.
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
ipc_timeout (default: 3600s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
ipc_ttl (default: 1000s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
line_length_limit (default: 2048) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_bind_address (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_bind_address6 (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_cache_connection (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The effectiveness of cached connections will be determined by the number of LMTP servers in use, and the concurrency limit specified for the LMTP client. Cached connections are closed under any of the following conditions:
Most of these limitations will be removed after Postfix implements a connection cache that is shared among multiple LMTP client programs.
lmtp_cname_overrides_servername (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_connect_timeout (default: 0s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
Example:
lmtp_connect_timeout = 30s
lmtp_connection_cache_destinations (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_connection_cache_on_demand (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_connection_cache_time_limit (default: 2s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_connection_reuse_time_limit (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_data_done_timeout (default: 600s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
lmtp_data_init_timeout (default: 120s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
lmtp_data_xfer_timeout (default: 180s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
lmtp_defer_if_no_mx_address_found (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_destination_concurrency_limit (default: $default_destination_concurrency_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_destination_recipient_limit (default: $default_destination_recipient_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Setting this parameter to a value of 1 changes the meaning of lmtp_destination_concurrency_limit from concurrency per domain into concurrency per recipient.
lmtp_discard_lhlo_keyword_address_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_discard_lhlo_keywords (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.3 and later.
Notes:
lmtp_enforce_tls (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_generic_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_host_lookup (default: dns) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_lhlo_name (default: $myhostname) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default value is the machine hostname. Specify a hostname or [ip.add.re.ss].
This information can be specified in the main.cf file for all LMTP clients, or it can be specified in the master.cf file for a specific client, for example:
/etc/postfix/master.cf: mylmtp ... lmtp -o lmtp_lhlo_name=foo.bar.com
lmtp_lhlo_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
lmtp_line_length_limit (default: 990) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_mail_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
lmtp_mx_address_limit (default: 5) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_mx_session_limit (default: 2) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_pix_workaround_delay_time (default: 10s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_pix_workaround_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_pix_workaround_threshold_time (default: 500s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_pix_workarounds (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_quit_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
lmtp_quote_rfc821_envelope (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_randomize_addresses (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_rcpt_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
lmtp_rset_timeout (default: 20s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
lmtp_sasl_auth_cache_name (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_sasl_auth_cache_time (default: 90d) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_sasl_auth_enable (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_sasl_auth_soft_bounce (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_sasl_mechanism_filter (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_sasl_password_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_sasl_path (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_sasl_security_options (default: noplaintext, noanonymous) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The following security features are defined for the cyrus client SASL implementation:
Example:
lmtp_sasl_security_options = noplaintext
lmtp_sasl_tls_security_options (default: $lmtp_sasl_security_options) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_sasl_tls_verified_security_options (default: $lmtp_sasl_tls_security_options) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_sasl_type (default: cyrus) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_send_xforward_command (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_sender_dependent_authentication (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_skip_5xx_greeting (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_skip_quit_response (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_starttls_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tcp_port (default: 24) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_CAfile (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_CApath (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_cert_file (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_dcert_file (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_dkey_file (default: $lmtp_tls_dcert_file) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_enforce_peername (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_exclude_ciphers (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_fingerprint_cert_match (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_fingerprint_digest (default: md5) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_key_file (default: $lmtp_tls_cert_file) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_loglevel (default: 0) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_mandatory_ciphers (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_mandatory_exclude_ciphers (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_mandatory_protocols (default: SSLv3, TLSv1) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_note_starttls_offer (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_per_site (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_policy_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_scert_verifydepth (default: 9) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_secure_cert_match (default: nexthop) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_security_level (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_session_cache_database (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_session_cache_timeout (default: 3600s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_tls_verify_cert_match (default: hostname) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_use_tls (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
lmtp_xforward_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
In case of problems the client does NOT try the next address on the mail exchanger list.
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
local_command_shell (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
"sendmail's restricted shell" (smrsh) is what most people will use in order to restrict what programs can be run from e.g. .forward files (smrsh is part of the Sendmail distribution).
Note: when a shell program is specified, it is invoked even when the command contains no shell built-in commands or meta characters.
Example:
local_command_shell = /some/where/smrsh -c
local_destination_concurrency_limit (default: 2) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
A low limit of 2 is recommended, just in case someone has an expensive shell command in a .forward file or in an alias (e.g., a mailing list manager). You don't want to run lots of those at the same time.
local_destination_recipient_limit (default: 1) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Setting this parameter to a value > 1 changes the meaning of local_destination_concurrency_limit from concurrency per recipient into concurrency per domain.
local_header_rewrite_clients (default: permit_inet_interfaces) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
See the append_at_myorigin and append_dot_mydomain parameters for details of how domain names are appended to incomplete addresses.
Specify a list of zero or more of the following:
Examples:
The Postfix < 2.2 backwards compatible setting: always rewrite message headers, and always append my own domain to incomplete header addresses.
local_header_rewrite_clients = static:all
The purist (and default) setting: rewrite headers only in mail from Postfix sendmail and in SMTP mail from this machine.
local_header_rewrite_clients = permit_inet_interfaces
The intermediate setting: rewrite header addresses and append $myorigin or $mydomain information only with mail from Postfix sendmail, from local clients, or from authorized SMTP clients.
Note: this setting will not prevent remote mail header address rewriting when mail from a remote client is forwarded by a neighboring system.
local_header_rewrite_clients = permit_mynetworks, permit_sasl_authenticated permit_tls_clientcerts check_address_map hash:/etc/postfix/pop-before-smtp
local_recipient_maps (default: proxy:unix:passwd.byname $alias_maps) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
If this parameter is non-empty (the default), then the Postfix SMTP server will reject mail for unknown local users.
To turn off local recipient checking in the Postfix SMTP server, specify "local_recipient_maps =" (i.e. empty).
The default setting assumes that you use the default Postfix local delivery agent for local delivery. You need to update the local_recipient_maps setting if:
Details are described in the LOCAL_RECIPIENT_README file.
Beware: if the Postfix SMTP server runs chrooted, you need to access the passwd file via the proxymap(8) service, in order to overcome chroot access restrictions. The alternative, maintaining a copy of the system password file in the chroot jail is not practical.
Examples:
local_recipient_maps =
local_transport (default: local:$myhostname) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, local mail is delivered to the transport called "local", which is just the name of a service that is defined the master.cf file.
Specify a string of the form transport:nexthop, where transport is the name of a mail delivery transport defined in master.cf. The :nexthop part is optional. For more details see the transport(5) manual page.
Beware: if you override the default local delivery agent then you need to review the LOCAL_RECIPIENT_README document, otherwise the SMTP server may reject mail for local recipients.
luser_relay (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The following $name expansions are done on luser_relay:
Instead of $name you can also specify ${name} or $(name).
Note: luser_relay works only for the Postfix local(8) delivery agent.
Note: if you use this feature for accounts not in the UNIX password file, then you must specify "local_recipient_maps =" (i.e. empty) in the main.cf file, otherwise the Postfix SMTP server will reject mail for non-UNIX accounts with "User unknown in local recipient table".
Examples:
luser_relay = $user@other.host luser_relay = $local@other.host luser_relay = admin+$local
mail_name (default: Postfix) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
mail_owner (default: postfix) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
When this parameter value is changed you need to re-run "postfix set-permissions" (with Postfix version 2.0 and earlier: "/etc/postfix/post-install set-permissions".
mail_release_date (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
mail_spool_directory (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: maildir delivery is done with the privileges of the recipient. If you use the mail_spool_directory setting for maildir style delivery, then you must create the top-level maildir directory in advance. Postfix will not create it.
Examples:
mail_spool_directory = /var/mail mail_spool_directory = /var/spool/mail
mail_version (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
mailbox_command (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The following environment variables are exported to the command:
Unlike other Postfix configuration parameters, the mailbox_command parameter is not subjected to $name substitutions. This is to make it easier to specify shell syntax (see example below).
If you can, avoid shell meta characters because they will force Postfix to run an expensive shell process. If you're delivering via Procmail then running a shell won't make a noticeable difference in the total cost.
Note: if you use the mailbox_command feature to deliver mail system-wide, you must set up an alias that forwards mail for root to a real user.
The precedence of local(8) delivery features from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport and luser_relay.
Examples:
mailbox_command = /some/where/procmail mailbox_command = /some/where/procmail -a "$EXTENSION" mailbox_command = /some/where/maildrop -d "$USER" -f "$SENDER" "$EXTENSION"
mailbox_command_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The precedence of local(8) delivery features from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport and luser_relay.
mailbox_delivery_lock (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This setting is ignored with maildir style delivery, because such deliveries are safe without explicit locks.
Note: The dotlock method requires that the recipient UID or GID has write access to the parent directory of the mailbox file.
Note: the default setting of this parameter is system dependent.
mailbox_size_limit (default: 51200000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
mailbox_transport (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The precedence of local(8) delivery features from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport and luser_relay.
mailbox_transport_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The precedence of local(8) delivery features from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport and luser_relay.
For safety reasons, this feature does not allow $number substitutions in regular expression maps.
mailq_path (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
manpage_directory (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
maps_rbl_domains (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
maps_rbl_reject_code (default: 554) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Do not change this unless you have a complete understanding of RFC 821.
masquerade_classes (default: envelope_sender, header_sender, header_recipient) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, address masquerading is limited to envelope sender addresses, and to header sender and header recipient addresses. This allows you to use address masquerading on a mail gateway while still being able to forward mail to users on individual machines.
Specify zero or more of: envelope_sender, envelope_recipient, header_sender, header_recipient
masquerade_domains (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The list is processed left to right, and processing stops at the first match. Thus,
masquerade_domains = foo.example.com example.com
strips "user@any.thing.foo.example.com" to "user@foo.example.com", but strips "user@any.thing.else.example.com" to "user@example.com".
A domain name prefixed with ! means do not masquerade this domain or its subdomains. Thus,
masquerade_domains = !foo.example.com example.com
does not change "user@any.thing.foo.example.com" or "user@foo.example.com", but strips "user@any.thing.else.example.com" to "user@example.com".
Note: with Postfix version 2.2, message header address masquerading happens only when message header address rewriting is enabled:
To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".
Example:
masquerade_domains = $mydomain
masquerade_exceptions (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, address masquerading makes no exceptions.
Specify a list of user names, "/file/name" or "type:table" patterns, separated by commas and/or whitespace. The list is matched left to right, and the search stops on the first match. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a name matches a lookup key (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude a name from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
Examples:
masquerade_exceptions = root, mailer-daemon masquerade_exceptions = root
max_idle (default: 100s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
max_use (default: 100) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
maximal_backoff_time (default: 4000s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This parameter should be set to a value greater than or equal to $minimal_backoff_time. See also $queue_run_delay.
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
maximal_queue_lifetime (default: 5d) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is d (days).
message_reject_characters (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
message_reject_characters = \0
message_size_limit (default: 10240000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
message_strip_characters (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
message_strip_characters = \0
milter_command_timeout (default: 30s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify a non-zero time value (an integral value plus an optional one-letter suffix that specifies the time unit).
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
milter_connect_macros (default: see postconf -n output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
milter_connect_timeout (default: 30s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify a non-zero time value (an integral value plus an optional one-letter suffix that specifies the time unit).
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
milter_content_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify a non-zero time value (an integral value plus an optional one-letter suffix that specifies the time unit).
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
milter_data_macros (default: see postconf -n output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
milter_default_action (default: tempfail) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
milter_end_of_data_macros (default: see postconf -n output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
milter_end_of_header_macros (default: see postconf -n output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
milter_helo_macros (default: see postconf -n output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
milter_macro_daemon_name (default: $myhostname) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
milter_macro_v (default: $mail_name $mail_version) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
milter_mail_macros (default: see postconf -n output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
milter_protocol (default: 2) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Protocol versions:
Protocol extensions:
milter_rcpt_macros (default: see postconf -n output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
milter_unknown_command_macros (default: see postconf -n output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
mime_boundary_length_limit (default: 2048) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
mime_header_checks (default: $header_checks) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
mime_nesting_limit (default: 100) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
minimal_backoff_time (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This parameter also limits the time an unreachable destination is kept in the short-term, in-memory, destination status cache.
This parameter should be set greater than or equal to $queue_run_delay. See also $maximal_backoff_time.
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
multi_recipient_bounce_reject_code (default: 550) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Do not change this unless you have a complete understanding of RFC 821.
mydestination (default: $myhostname, localhost.$mydomain, localhost) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default mydestination value specifies names for the local machine only. On a mail domain gateway, you should also include $mydomain.
The $local_transport delivery method is also selected for mail addressed to user@[the.net.work.address] of the mail system (the IP addresses specified with the inet_interfaces and proxy_interfaces parameters).
Warnings:
Specify a list of host or domain names, "/file/name" or "type:table" patterns, separated by commas and/or whitespace. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a name matches a lookup key (the lookup result is ignored). Continue long lines by starting the next line with whitespace.
Examples:
mydestination = $myhostname, localhost.$mydomain $mydomain mydestination = $myhostname, localhost.$mydomain www.$mydomain, ftp.$mydomain
mydomain (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
mydomain = domain.tld
myhostname (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
myhostname = host.domain.tld
mynetworks (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
In particular, "trusted" SMTP clients are allowed to relay mail through Postfix. See the smtpd_recipient_restrictions parameter description in the postconf(5) manual.
You can specify the list of "trusted" network addresses by hand or you can let Postfix do it for you (which is the default). See the description of the mynetworks_style parameter for more information.
If you specify the mynetworks list by hand, Postfix ignores the mynetworks_style setting.
Specify a list of network addresses or network/netmask patterns, separated by commas and/or whitespace. Continue long lines by starting the next line with whitespace.
The netmask specifies the number of bits in the network part of a host address. You can also specify "/file/name" or "type:table" patterns. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a table entry matches a lookup string (the lookup result is ignored).
The list is matched left to right, and the search stops on the first match. Specify "!pattern" to exclude an address or network block from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
Note: IP version 6 address information must be specified inside [] in the mynetworks value, and in files specified with "/file/name". IP version 6 addresses contain the ":" character, and would otherwise be confused with a "type:table" pattern.
Examples:
mynetworks = 127.0.0.0/8 168.100.189.0/28 mynetworks = !192.168.0.1, 192.168.0.0/28 mynetworks = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64 mynetworks = $config_directory/mynetworks mynetworks = hash:/etc/postfix/network_table
mynetworks_style (default: subnet) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
myorigin (default: $myhostname) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
myorigin = $mydomain
nested_header_checks (default: $header_checks) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
newaliases_path (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
non_fqdn_reject_code (default: 504) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
non_smtpd_milters (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
notify_classes (default: resource, software) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
NOTE: postmaster notifications may contain confidential information such as SASL passwords or message content. It is the system administrator's responsibility to treat such information with care.
The error classes are:
Examples:
notify_classes = bounce, delay, policy, protocol, resource, software notify_classes = 2bounce, resource, software
owner_request_special (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
parent_domain_matches_subdomains (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
permit_mx_backup_networks (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
pickup_service_name (default: pickup) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
plaintext_reject_code (default: 450) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
prepend_delivered_header (default: command, file, forward) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, the Postfix local delivery agent prepends a Delivered-To: header when forwarding mail and when delivering to file (mailbox) and command. Turning off the Delivered-To: header when forwarding mail is not recommended.
Specify zero or more of forward, file, or command.
Example:
prepend_delivered_header = forward
process_id (read-only) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
process_id_directory (default: pid) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
process_name (read-only) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
propagate_unmatched_extensions (default: canonical, virtual) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
For example, with a virtual(5) mapping of "joe@domain -> joe.user", the address "joe+foo@domain" would rewrite to "joe.user+foo".
Specify zero or more of canonical, virtual, alias, forward, include or generic. These cause address extension propagation with canonical(5), virtual(5), and aliases(5) maps, with local(8) .forward and :include: file lookups, and with smtp(8) generic maps, respectively.
Note: enabling this feature for types other than canonical and virtual is likely to cause problems when mail is forwarded to other sites, especially with mail that is sent to a mailing list exploder address.
Examples:
propagate_unmatched_extensions = canonical, virtual, alias, forward, include propagate_unmatched_extensions = canonical, virtual
proxy_interfaces (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.0 and later.
You must specify your "outside" proxy/NAT addresses when your system is a backup MX host for other domains, otherwise mail delivery loops will happen when the primary MX host is down.
Example:
proxy_interfaces = 1.2.3.4
proxy_read_maps (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
proxy_write_maps (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
qmgr_clog_warn_time (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is enabled with the helpful_warnings parameter.
qmgr_fudge_factor (default: 100) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature exists only in the oqmgr(8) old queue manager. The current queue manager solves the problem in a better way.
qmgr_message_active_limit (default: 20000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
qmgr_message_recipient_limit (default: 20000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
qmgr_message_recipient_minimum (default: 10) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
qmqpd_authorized_clients (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, no client is allowed to use the service. This is because the QMQP server will relay mail to any destination.
Specify a list of client patterns. A list pattern specifies a host name, a domain name, an internet address, or a network/mask pattern, where the mask specifies the number of bits in the network part. When a pattern specifies a file name, its contents are substituted for the file name; when a pattern is a "type:table" table specification, table lookup is used instead.
Patterns are separated by whitespace and/or commas. In order to reverse the result, precede a pattern with an exclamation point (!). The form "!/file/name" is supported only in Postfix version 2.4 and later.
Example:
qmqpd_authorized_clients = !192.168.0.1, 192.168.0.0/24
qmqpd_client_port_logging (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
qmqpd_error_delay (default: 1s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
qmqpd_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
queue_directory (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
queue_file_attribute_count_limit (default: 100) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
queue_minfree (default: 0) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, the Postfix version 2.1 SMTP server rejects MAIL FROM commands when the amount of free space is less than 1.5*$message_size_limit. To specify a higher minimum free space limit, specify a queue_minfree value that is at least 1.5*$message_size_limit.
With Postfix versions 2.0 and earlier, a queue_minfree value of zero means there is no minimum required amount of free space.
queue_run_delay (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This parameter should be set less than or equal to $minimal_backoff_time. See also $maximal_backoff_time.
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
queue_service_name (default: qmgr) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
rbl_reply_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
readme_directory (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
receive_override_options (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify zero or more of the following options. The options override main.cf settings and are either implemented by smtpd(8), qmqpd(8), or pickup(8) themselves, or they are forwarded to the cleanup server.
Note: when the "BEFORE content filter" receive_override_options setting is specified in the main.cf file, specify the "AFTER content filter" receive_override_options setting in master.cf (and vice versa).
Examples:
receive_override_options = no_unknown_recipient_checks, no_header_body_checks receive_override_options = no_address_mappings
recipient_bcc_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.1 and later.
The table search order is as follows:
Specify the types and names of databases to use. After change, run "postmap /etc/postfix/recipient_bcc".
Note: if mail to the BCC address bounces it will be returned to the sender.
Note: automatic BCC recipients are produced only for new mail. To avoid mailer loops, automatic BCC recipients are not generated for mail that Postfix forwards internally, nor for mail that Postfix generates itself.
Example:
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc
recipient_canonical_classes (default: envelope_recipient, header_recipient) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify one or more of: envelope_recipient, header_recipient
recipient_canonical_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: $recipient_canonical_maps is processed before $canonical_maps.
Example:
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
recipient_delimiter (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
recipient_delimiter = +
reject_code (default: 554) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Do not change this unless you have a complete understanding of RFC 821.
relay_clientcerts (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Postfix lookup tables are in the form of (key, value) pairs. Since we only need the key, the value can be chosen freely, e.g. the name of the user or host: D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home
Example:
relay_clientcerts = hash:/etc/postfix/relay_clientcerts
For more fine-grained control, use check_ccert_access to select an appropriate access(5) policy for each client. See RESTRICTION_CLASS_README.
relay_destination_concurrency_limit (default: $default_destination_concurrency_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
relay_destination_recipient_limit (default: $default_destination_recipient_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Setting this parameter to a value of 1 changes the meaning of relay_destination_concurrency_limit from concurrency per domain into concurrency per recipient.
relay_domains (default: $mydestination) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Domains that match $relay_domains are delivered with the $relay_transport mail delivery transport. The SMTP server validates recipient addresses with $relay_recipient_maps and rejects non-existent recipients. See also the relay domains address class in the ADDRESS_CLASS_README file.
Note: Postfix will not automatically forward mail for domains that list this system as their primary or backup MX host. See the permit_mx_backup restriction in the postconf(5) manual page.
Specify a list of host or domain names, "/file/name" patterns or "type:table" lookup tables, separated by commas and/or whitespace. Continue long lines by starting the next line with whitespace. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a (parent) domain appears as lookup key. Specify "!pattern" to exclude a domain from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
relay_domains_reject_code (default: 554) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Do not change this unless you have a complete understanding of RFC 821.
relay_recipient_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
If this parameter is non-empty, then the Postfix SMTP server will reject mail to unknown relay users. This feature is off by default.
See also the relay domains address class in the ADDRESS_CLASS_README file.
Example:
relay_recipient_maps = hash:/etc/postfix/relay_recipients
relay_transport (default: relay) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify a string of the form transport:nexthop, where transport is the name of a mail delivery transport defined in master.cf. The :nexthop part is optional. For more details see the transport(5) manual page.
See also the relay domains address class in the ADDRESS_CLASS_README file.
relayhost (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
On an intranet, specify the organizational domain name. If your internal DNS uses no MX records, specify the name of the intranet gateway host instead.
In the case of SMTP, specify a domain name, hostname, hostname:port, [hostname]:port, [hostaddress] or [hostaddress]:port. The form [hostname] turns off MX lookups.
If you're connected via UUCP, see the UUCP_README file for useful information.
Examples:
relayhost = $mydomain relayhost = [gateway.my.domain] relayhost = uucphost relayhost = [an.ip.add.ress]
relocated_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
If you use this feature, run "postmap /etc/postfix/relocated" to build the necessary DBM or DB file after change, then "postfix reload" to make the changes visible.
Examples:
relocated_maps = dbm:/etc/postfix/relocated relocated_maps = hash:/etc/postfix/relocated
remote_header_rewrite_domain (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Examples:
The safe setting: append "domain.invalid" to incomplete header addresses from remote SMTP clients, so that those addresses cannot be confused with local addresses.
remote_header_rewrite_domain = domain.invalid
The default, purist, setting: don't rewrite headers from remote clients at all.
remote_header_rewrite_domain =
require_home_directory (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
resolve_dequoted_address (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, the Postfix address resolver does not quote the address localpart as per RFC 822, so that additional @ or % or ! operators remain visible. This behavior is safe but it is also technically incorrect.
If you specify "resolve_dequoted_address = no", then the Postfix resolver will not know about additional @ etc. operators in the address localpart. This opens opportunities for obscure mail relay attacks with user@domain@domain addresses when Postfix provides backup MX service for Sendmail systems.
resolve_null_domain (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.1 and later. Earlier versions always resolve the null domain as the local hostname.
The Postfix SMTP server uses this feature to reject mail from or to addresses that end in the "@" null domain, and from addresses that rewrite into a form that ends in the "@" null domain.
resolve_numeric_domain (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
rewrite_service_name (default: rewrite) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
sample_directory (default: /etc/postfix) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
send_cyrus_sasl_authzid (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The non-default setting "yes" enables the behavior of older Postfix versions. These always send a SASL authzid that is equal to the SASL authcid, but this causes inter-operability problems with some SMTP servers.
sender_based_routing (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
sender_bcc_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.1 and later.
The table search order is as follows:
Specify the types and names of databases to use. After change, run "postmap /etc/postfix/sender_bcc".
Note: if mail to the BCC address bounces it will be returned to the sender.
Note: automatic BCC recipients are produced only for new mail. To avoid mailer loops, automatic BCC recipients are not generated for mail that Postfix forwards internally, nor for mail that Postfix generates itself.
Example:
sender_bcc_maps = hash:/etc/postfix/sender_bcc
sender_canonical_classes (default: envelope_sender, header_sender) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify one or more of: envelope_sender, header_sender
sender_canonical_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example: you want to rewrite the SENDER address "user@ugly.domain" to "user@pretty.domain", while still being able to send mail to the RECIPIENT address "user@ugly.domain".
Note: $sender_canonical_maps is processed before $canonical_maps.
Example:
sender_canonical_maps = hash:/etc/postfix/sender_canonical
sender_dependent_relayhost_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
For safety reasons, this feature does not allow $number substitutions in regular expression maps.
sendmail_path (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
service_throttle_time (default: 60s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
setgid_group (default: postdrop) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
show_user_unknown_table_name (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
showq_service_name (default: showq) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_always_send_ehlo (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
With "smtp_always_send_ehlo = no", Postfix sends EHLO only when the word "ESMTP" appears in the server greeting banner (example: 220 spike.porcupine.org ESMTP Postfix).
smtp_bind_address (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This can be specified in the main.cf file for all SMTP clients, or it can be specified in the master.cf file for a specific client, for example:
/etc/postfix/master.cf: smtp ... smtp -o smtp_bind_address=11.22.33.44
Note 1: when inet_interfaces specifies no more than one IPv4 address, and that address is a non-loopback address, it is automatically used as the smtp_bind_address. This supports virtual IP hosting, but can be a problem on multi-homed firewalls. See the inet_interfaces documentation for more detail.
Note 2: address information may be enclosed inside [], but this form is not required here.
smtp_bind_address6 (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.2 and later.
This can be specified in the main.cf file for all SMTP clients, or it can be specified in the master.cf file for a specific client, for example:
/etc/postfix/master.cf: smtp ... smtp -o smtp_bind_address6=1:2:3:4:5:6:7:8
Note 1: when inet_interfaces specifies no more than one IPv6 address, and that address is a non-loopback address, it is automatically used as the smtp_bind_address6. This supports virtual IP hosting, but can be a problem on multi-homed firewalls. See the inet_interfaces documentation for more detail.
Note 2: address information may be enclosed inside [], but this form is not recommended here.
smtp_body_checks (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_cname_overrides_servername (default: version dependent) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_connect_timeout (default: 30s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
When no connection can be made within the deadline, the Postfix SMTP client tries the next address on the mail exchanger list. Specify 0 to disable the time limit (i.e. use whatever timeout is implemented by the operating system).
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
smtp_connection_cache_destinations (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify a comma or white space separated list of destinations or pseudo-destinations:
smtp_connection_cache_on_demand (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_connection_cache_reuse_limit (default: 10) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.2. In Postfix 2.3 it is replaced by $smtp_connection_reuse_time_limit.
smtp_connection_cache_time_limit (default: 2s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_connection_reuse_time_limit (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature addresses a performance stability problem with remote SMTP servers. This problem is not specific to Postfix: it can happen when any MTA sends large amounts of SMTP email to a site that has multiple MX hosts.
The problem starts when one of a set of MX hosts becomes slower than the rest. Even though SMTP clients connect to fast and slow MX hosts with equal probability, the slow MX host ends up with more simultaneous inbound connections than the faster MX hosts, because the slow MX host needs more time to serve each client request.
The slow MX host becomes a connection attractor. If one MX host becomes N times slower than the rest, it dominates mail delivery latency unless there are more than N fast MX hosts to counter the effect. And if the number of MX hosts is smaller than N, the mail delivery latency becomes effectively that of the slowest MX host divided by the total number of MX hosts.
The solution uses connection caching in a way that differs from Postfix version 2.2. By limiting the amount of time during which a connection can be used repeatedly (instead of limiting the number of deliveries over that connection), Postfix not only restores fairness in the distribution of simultaneous connections across a set of MX hosts, it also favors deliveries over connections that perform well, which is exactly what we want.
The default reuse time limit, 300s, is comparable to the various smtp transaction timeouts which are fair estimates of maximum excess latency for a slow delivery. Note that hosts may accept thousands of messages over a single connection within the default connection reuse time limit. This number is much larger than the default Postfix version 2.2 limit of 10 messages per cached connection. It may prove necessary to lower the limit to avoid interoperability issues with MTAs that exhibit bugs when many messages are delivered via a single connection. A lower reuse time limit risks losing the benefit of connection reuse when the average connection and mail delivery latency exceeds the reuse time limit.
smtp_data_done_timeout (default: 600s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
When no response is received within the deadline, a warning is logged that the mail may be delivered multiple times.
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
smtp_data_init_timeout (default: 120s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
smtp_data_xfer_timeout (default: 180s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
smtp_defer_if_no_mx_address_found (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default (no) is to return the mail as undeliverable. With older Postfix versions the default was to keep trying to deliver the mail until someone fixed the MX record or until the mail was too old.
Note: Postfix always ignores MX records with equal or worse preference than the local MTA itself.
smtp_destination_concurrency_limit (default: $default_destination_concurrency_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_destination_recipient_limit (default: $default_destination_recipient_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Setting this parameter to a value of 1 changes the meaning of smtp_destination_concurrency_limit from concurrency per domain into concurrency per recipient.
smtp_discard_ehlo_keyword_address_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_discard_ehlo_keywords (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.2 and later.
Notes:
smtp_enforce_tls (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The server hostname is matched against all names provided as dNSNames in the SubjectAlternativeName. If no dNSNames are specified, the CommonName is checked. The behavior may be changed with the smtp_tls_enforce_peername option.
This option is useful only if you are definitely sure that you will only connect to servers that support RFC 2487 _and_ that provide valid server certificates. Typical use is for clients that send all their email to a dedicated mailhub.
This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtp_tls_security_level instead.
smtp_fallback_relay (default: $fallback_relay) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, mail is returned to the sender when a destination is not found, and delivery is deferred when a destination is unreachable.
The fallback relays must be SMTP destinations. Specify a domain, host, host:port, [host]:port, [address] or [address]:port; the form [host] turns off MX lookups. If you specify multiple SMTP destinations, Postfix will try them in the specified order.
To prevent mailer loops between MX hosts and fall-back hosts, Postfix version 2.2 and later will not use the fallback relays for destinations that it is MX host for (and DSN lookup is turned on).
smtp_generic_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The table format and lookups are documented in generic(5); examples are shown in the ADDRESS_REWRITING_README and STANDARD_CONFIGURATION_README documents.
smtp_header_checks (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_helo_name (default: $myhostname) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default value is the machine hostname. Specify a hostname or [ip.add.re.ss].
This information can be specified in the main.cf file for all SMTP clients, or it can be specified in the master.cf file for a specific client, for example:
/etc/postfix/master.cf: mysmtp ... smtp -o smtp_helo_name=foo.bar.com
smtp_helo_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
smtp_host_lookup (default: dns) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify one of the following:
smtp_line_length_limit (default: 990) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, the line length is limited to 990 characters, because some server implementations cannot receive mail with long lines.
smtp_mail_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
smtp_mime_header_checks (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_mx_address_limit (default: 5) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_mx_session_limit (default: 2) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_nested_header_checks (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_never_send_ehlo (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_pix_workaround_delay_time (default: 10s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Choosing a too short time makes this workaround ineffective when sending large messages over slow network connections.
smtp_pix_workaround_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_pix_workaround_threshold_time (default: 500s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, the workaround is turned off for mail that is queued for less than 500 seconds. In other words, the workaround is normally turned off for the first delivery attempt.
Specify 0 to enable the PIX firewall "<CR><LF>.<CR><LF>" bug workaround upon the first delivery attempt.
smtp_pix_workarounds (default: disable_esmtp, delay_dotcrlf) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.4 and later. The default settings are backwards compatible with earlier Postfix versions.
smtp_quit_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
smtp_quote_rfc821_envelope (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default is to comply with RFC 821. If you have to send mail to a broken SMTP server, configure a special SMTP client in master.cf:
/etc/postfix/master.cf: broken-smtp . . . smtp -o smtp_quote_rfc821_envelope=no
and route mail for the destination in question to the "broken-smtp" message delivery with a transport(5) table.
smtp_randomize_addresses (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_rcpt_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
smtp_rset_timeout (default: 20s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_sasl_auth_cache_name (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Use a per-destination delivery concurrency of 1 (for example, "smtp_destination_concurrency_limit = 1", "relay_destination_concurrency_limit = 1", etc.), otherwise multiple delivery agents may experience a login failure at the same time.
The table must be accessed via the proxywrite service, i.e. the map name must start with "proxy:". The table should be stored under the directory specified with the data_directory parameter.
This feature uses cryptographic hashing to protect plain-text passwords, and requires that Postfix is compiled with TLS support.
Example:
smtp_sasl_auth_cache_name = proxy:btree:/var/lib/postfix/sasl_auth_cache
smtp_sasl_auth_cache_time (default: 90d) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_sasl_auth_enable (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
smtp_sasl_auth_enable = yes
smtp_sasl_auth_soft_bounce (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: the setting "yes" overrides the global soft_bounce parameter, but the setting "no" does not.
Example:
# Default as of Postfix 2.5 smtp_sasl_auth_soft_bounce = yes # The old hard-coded default smtp_sasl_auth_soft_bounce = no
smtp_sasl_mechanism_filter (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify mechanism names, "/file/name" patterns or "type:table" lookup tables. The right-hand side result from "type:table" lookups is ignored. Specify "!pattern" to exclude a mechanism name from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
This feature is available in Postfix 2.2 and later.
Examples:
smtp_sasl_mechanism_filter = plain, login smtp_sasl_mechanism_filter = /etc/postfix/smtp_mechs smtp_sasl_mechanism_filter = !gssapi, !login, static:rest
smtp_sasl_password_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The Postfix SMTP client opens the lookup table before going to chroot jail, so you can leave the password file in /etc/postfix.
smtp_sasl_path (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_sasl_security_options (default: noplaintext, noanonymous) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The following security features are defined for the cyrus client SASL implementation:
Specify zero or more of the following:
Example:
smtp_sasl_security_options = noplaintext
smtp_sasl_tls_security_options (default: $smtp_sasl_security_options) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_sasl_tls_verified_security_options (default: $smtp_sasl_tls_security_options) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_sasl_type (default: cyrus) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_send_xforward_command (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This allows an "smtp" delivery agent, used for injecting mail into a content filter, to forward the name, address, protocol and HELO name of the original client to the content filter and downstream queuing SMTP server. This can produce more useful logging than localhost[127.0.0.1] etc.
smtp_sender_dependent_authentication (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_skip_4xx_greeting (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, Postfix moves on the next mail exchanger. Specify "smtp_skip_4xx_greeting = no" if Postfix should defer delivery immediately.
This feature is available in Postfix 2.0 and earlier. Later Postfix versions always skip SMTP servers that greet with a 4XX status code.
smtp_skip_5xx_greeting (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, the Postfix SMTP client moves on the next mail exchanger. Specify "smtp_skip_5xx_greeting = no" if Postfix should bounce the mail immediately. The default setting is incorrect, but it is what a lot of people expect to happen.
smtp_skip_quit_response (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_starttls_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_tls_CAfile (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
smtp_tls_CAfile = /etc/postfix/CAcert.pem
smtp_tls_CApath (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
To use this option in chroot mode, this directory (or a copy) must be inside the chroot jail.
Example:
smtp_tls_CApath = /etc/postfix/certs
smtp_tls_cert_file (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Do not configure client certificates unless you must present client TLS certificates to one or more servers. Client certificates are not usually needed, and can cause problems in configurations that work well without them. The recommended setting is to let the defaults stand:
smtp_tls_cert_file = smtp_tls_dcert_file = smtp_tls_key_file = smtp_tls_dkey_file =
The best way to use the default settings is to comment out the above parameters in main.cf if present.
In order to verify certificates, the CA certificate (in case of a certificate chain, all CA certificates) must be available. You should add these certificates to the client certificate, the client certificate first, then the issuing CA(s).
Example: the certificate for "client.dom.ain" was issued by "intermediate CA" which itself has a certificate of "root CA". Create the client.pem file with "cat client_cert.pem intermediate_CA.pem root_CA.pem > client.pem".
If you also want to verify remote SMTP server certificates issued by these CAs, you can also add the CA certificates to the smtp_tls_CAfile, in which case it is not necessary to have them in the smtp_tls_cert_file or smtp_tls_dcert_file.
A certificate supplied here must be usable as an SSL client certificate and hence pass the "openssl verify -purpose sslclient ..." test.
Example:
smtp_tls_cert_file = /etc/postfix/client.pem
smtp_tls_cipherlist (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: do not use "" quotes around the parameter value.
This feature is available in Postfix version 2.2. It is not used with Postfix 2.3 and later; use smtp_tls_mandatory_ciphers instead.
smtp_tls_dcert_file (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
See the discussion under smtp_tls_cert_file for more details.
Example:
smtp_tls_dcert_file = /etc/postfix/client-dsa.pem
smtp_tls_dkey_file (default: $smtp_tls_dcert_file) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The private key must be accessible without a pass-phrase, i.e. it must not be encrypted, but file permissions should grant read/write access only to the system superuser account ("root").
smtp_tls_enforce_peername (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This option can be set to "no" to disable strict peer name checking. This setting has no effect on sessions that are controlled via the smtp_tls_per_site table.
Disabling the hostname verification can make sense in closed environment where special CAs are created. If not used carefully, this option opens the danger of a "man-in-the-middle" attack (the CommonName of this attacker will be logged).
This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtp_tls_security_level instead.
smtp_tls_exclude_ciphers (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Examples (some of these will cause problems):
smtp_tls_exclude_ciphers = aNULL smtp_tls_exclude_ciphers = MD5, DES smtp_tls_exclude_ciphers = DES+MD5 smtp_tls_exclude_ciphers = AES256-SHA, DES-CBC3-MD5 smtp_tls_exclude_ciphers = kEDH+aRSA
The first setting, disables anonymous ciphers. The next setting disables ciphers that use the MD5 digest algorithm or the (single) DES encryption algorithm. The next setting disables ciphers that use MD5 and DES together. The next setting disables the two ciphers "AES256-SHA" and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH" key exchange with RSA authentication.
smtp_tls_fingerprint_cert_match (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
When an smtp_tls_policy_maps table entry specifies the "fingerprint" security level, any "match" attributes in that entry specify the list of valid fingerprints for the corresponding destination. Multiple fingerprints can be combined with a "|" delimiter in a single match attribute, or multiple match attributes can be employed.
Example: Certificate fingerprint verification with internal mailhub. Two matching fingerprints are listed. The relayhost may be multiple physical hosts behind a load-balancer, each with its own private/public key and self-signed certificate. Alternatively, a single relayhost may be in the process of switching from one set of private/public keys to another, and both keys are trusted just prior to the transition.
relayhost = [mailhub.example.com] smtp_tls_security_level = fingerprint smtp_tls_fingerprint_digest = md5 smtp_tls_fingerprint_cert_match = 3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1 EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
Example: Certificate fingerprint verification with selected destinations. As in the example above, we show two matching fingerprints:
/etc/postfix/main.cf: smtp_tls_policy_maps = hash:/etc/postfix/tls_policy smtp_tls_fingerprint_digest = md5
/etc/postfix/tls_policy: example.com fingerprint match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1 match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
smtp_tls_fingerprint_digest (default: md5) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default algorithm is md5; this is consistent with the backwards compatible setting of the digest used to verify client certificates in the SMTP server.
The best practice algorithm is now sha1. Recent advances in hash function cryptanalysis have led to md5 being deprecated in favor of sha1. However, as long as there are no known "second pre-image" attacks against md5, its use in this context can still be considered safe.
While additional digest algorithms are often available with OpenSSL's libcrypto, only those used by libssl in SSL cipher suites are available to Postfix. For now this means just md5 or sha1.
To find the fingerprint of a specific certificate file, with a specific digest algorithm, run:
$ openssl x509 -noout -fingerprint -digest -in certfile.pem
The text to the right of "=" sign is the desired fingerprint. For example:
$ openssl x509 -noout -fingerprint -sha1 -in cert.pem SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
smtp_tls_key_file (default: $smtp_tls_cert_file) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The private key must be accessible without a pass-phrase, i.e. it must not be encrypted, but file permissions should grant read/write access only to the system superuser account ("root").
Example:
smtp_tls_key_file = $smtp_tls_cert_file
smtp_tls_loglevel (default: 0) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Use "smtp_tls_loglevel = 3" only in case of problems. Use of loglevel 4 is strongly discouraged.
smtp_tls_mandatory_ciphers (default: medium) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The following cipher grades are supported:
smtp_tls_mandatory_exclude_ciphers (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_tls_mandatory_protocols (default: SSLv3, TLSv1) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
With Postfix >= 2.5 the parameter syntax is expanded to support protocol exclusions. One can now explicitly exclude SSLv2 by setting "smtp_tls_mandatory_protocols = !SSLv2". To exclude both SSLv2 and SSLv3 set "smtp_tls_mandatory_protocols = !SSLv2, !SSLv3". Listing the protocols to include, rather than protocols to exclude, is still supported; use the form you find more intuitive.
Since SSL version 2 has known protocol weaknesses and is now deprecated, the default setting excludes "SSLv2". This means that by default, SSL version 2 will not be used at the "encrypt" security level and higher.
See the documentation of the smtp_tls_policy_maps parameter and TLS_README for more information about security levels.
Example:
smtp_tls_mandatory_protocols = TLSv1 # Alternative form with Postfix >= 2.5: smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_note_starttls_offer (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The logfile record looks like:
postfix/smtp[pid]: Host offered STARTTLS: [name.of.host]
smtp_tls_per_site (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Use of the bare hostname as the per-site table lookup key is discouraged. Always use the full destination nexthop (enclosed in [] with a possible ":port" suffix). A recipient domain or MX-enabled transport next-hop with no port suffix may look like a bare hostname, but is still a suitable destination.
Specify a next-hop destination or server hostname on the left-hand side; no wildcards are allowed. The next-hop destination is either the recipient domain, or the destination specified with a transport(5) table, the relayhost parameter, or the relay_transport parameter. On the right hand side specify one of the following keywords:
The above keywords correspond to the "none", "may", "encrypt" and "verify" security levels for the new smtp_tls_security_level parameter introduced in Postfix 2.3. Starting with Postfix 2.3, and independently of how the policy is specified, the smtp_tls_mandatory_ciphers and smtp_tls_mandatory_protocols parameters only apply when TLS encryption is mandatory. Connections for which encryption is optional enable all "export" grade and better ciphers.
As long as no secure DNS lookup mechanism is available, false hostnames in MX or CNAME responses can change the server hostname that Postfix uses for TLS policy lookup and server certificate verification. Even with a perfect match between the server hostname and the server certificate, there is no guarantee that Postfix is connected to the right server. See TLS_README (Closing a DNS loophole with obsolete per-site TLS policies) for a possible work-around.
This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtp_tls_policy_maps instead.
smtp_tls_policy_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The TLS policy table is indexed by the full next-hop destination, which is either the recipient domain, or the verbatim next-hop specified in the transport table, $local_transport, $virtual_transport, $relay_transport or $default_transport. This includes any enclosing square brackets and any non-default destination server port suffix. The LMTP socket type prefix (inet: or unix:) is not included in the lookup key.
Only the next-hop domain, or $myhostname with LMTP over UNIX-domain sockets, is used as the nexthop name for certificate verification. The port and any enclosing square brackets are used in the table lookup key, but are not used for server name verification.
When the lookup key is a domain name without enclosing square brackets or any :port suffix (typically the recipient domain), and the full domain is not found in the table, just as with the transport(5) table, the parent domain starting with a leading "." is matched recursively. This allows one to specify a security policy for a recipient domain and all its sub-domains.
The lookup result is a security level, followed by an optional list of whitespace and/or comma separated name=value attributes that override related main.cf settings. The TLS security levels in order of increasing security are:
Example:
/etc/postfix/main.cf: smtp_tls_policy_maps = hash:/etc/postfix/tls_policy # Postfix 2.5 and later smtp_tls_fingerprint_digest = md5
/etc/postfix/tls_policy: example.edu none example.mil may example.gov encrypt protocols=TLSv1 example.com verify ciphers=high example.net secure .example.net secure match=.example.net:example.net [mail.example.org]:587 secure match=nexthop # Postfix 2.5 and later [thumb.example.org] fingerprint match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35 match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
Note: The hostname strategy if listed in a non-default setting of smtp_tls_secure_cert_match or in the match attribute in the policy table can render the secure level vulnerable to DNS forgery. Do not use the hostname strategy for secure-channel configurations in environments where DNS security is not assured.
smtp_tls_scert_verifydepth (default: 9) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default verification depth is 9 (the OpenSSL default) for compatibility with earlier Postfix behavior. Prior to Postfix 2.5, the default value was 5, but the limit was not actually enforced. If you have set this to a lower non-default value, certificates with longer trust chains may now fail to verify. Certificate chains with 1 or 2 CAs are common, deeper chains are more rare and any number between 5 and 9 should suffice in practice. You can choose a lower number if, for example, you trust certificates directly signed by an issuing CA but not any CAs it delegates to.
smtp_tls_secure_cert_match (default: nexthop, dot-nexthop) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This parameter specifies one or more patterns or strategies separated by commas, whitespace or colons. In the policy table the only valid separator is the colon character.
For a description of the pattern and strategy syntax see the smtp_tls_verify_cert_match parameter. The "hostname" strategy should be avoided in this context, as in the absence of a secure global DNS, using the results of MX lookups in certificate verification is not immune to active (man-in-the-middle) attacks on DNS.
Sample main.cf setting:
smtp_tls_secure_cert_match = nexthop
Sample policy table override:
example.net secure match=example.com:.example.com .example.net secure match=example.com:.example.com
smtp_tls_security_level (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify one of the following security levels:
Examples:
# No TLS. Formerly: smtp_use_tls=no and smtp_enforce_tls=no. smtp_tls_security_level = none
# Opportunistic TLS. smtp_tls_security_level = may
# Mandatory (high-grade) TLS encryption. smtp_tls_security_level = encrypt smtp_tls_mandatory_ciphers = high
# Mandatory TLS verification of hostname or nexthop domain. smtp_tls_security_level = verify smtp_tls_mandatory_ciphers = high smtp_tls_verify_cert_match = hostname, nexthop, dot-nexthop
# Secure channel TLS with exact nexthop name match. smtp_tls_security_level = secure smtp_tls_mandatory_protocols = TLSv1 smtp_tls_mandatory_ciphers = high smtp_tls_secure_cert_match = nexthop
# Certificate fingerprint verification (Postfix >= 2.5). # The CA-less "fingerprint" security level only scales to a limited # number of destinations. As a global default rather than a per-site # setting, this is practical when mail for all recipients is sent # to a central mail hub. relayhost = [mailhub.example.com] smtp_tls_security_level = fingerprint smtp_tls_mandatory_protocols = !SSLv2, !SSLv3 smtp_tls_mandatory_ciphers = high smtp_tls_fingerprint_cert_match = 3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1 EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
smtp_tls_session_cache_database (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: dbm databases are not suitable. TLS session objects are too large.
As of version 2.5, Postfix no longer uses root privileges when opening this file. The file should now be stored under the Postfix-owned data_directory. As a migration aid, an attempt to open the file under a non-Postfix directory is redirected to the Postfix-owned data_directory, and a warning is logged.
Example:
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scache
smtp_tls_session_cache_timeout (default: 3600s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtp_tls_verify_cert_match (default: hostname) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This parameter specifies one or more patterns or strategies separated by commas, whitespace or colons. In the policy table the only valid separator is the colon character.
Patterns specify domain names, or domain name suffixes:
Strategies specify a transformation from the next-hop domain to the expected name in the server certificate:
Sample main.cf setting:
smtp_tls_verify_cert_match = hostname, nexthop, dot-nexthop
Sample policy table override:
example.com verify match=hostname:nexthop .example.com verify match=example.com:.example.com:hostname
smtp_use_tls (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtp_tls_security_level instead.
smtp_xforward_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
smtpd_authorized_verp_clients (default: $authorized_verp_clients) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, no clients are allowed to specify XVERP.
This parameter was renamed with Postfix version 2.1. The default value is backwards compatible with Postfix version 2.0.
Specify a list of network/netmask patterns, separated by commas and/or whitespace. The mask specifies the number of bits in the network part of a host address. You can also specify hostnames or .domain names (the initial dot causes the domain to match any name below it), "/file/name" or "type:table" patterns. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a table entry matches a lookup string (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude an address or network block from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
Note: IP version 6 address information must be specified inside [] in the smtpd_authorized_verp_clients value, and in files specified with "/file/name". IP version 6 addresses contain the ":" character, and would otherwise be confused with a "type:table" pattern.
smtpd_authorized_xclient_hosts (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.1 and later.
By default, no clients are allowed to specify XCLIENT.
Specify a list of network/netmask patterns, separated by commas and/or whitespace. The mask specifies the number of bits in the network part of a host address. You can also specify hostnames or .domain names (the initial dot causes the domain to match any name below it), "/file/name" or "type:table" patterns. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a table entry matches a lookup string (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude an address or network block from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
Note: IP version 6 address information must be specified inside [] in the smtpd_authorized_xclient_hosts value, and in files specified with "/file/name". IP version 6 addresses contain the ":" character, and would otherwise be confused with a "type:table" pattern.
smtpd_authorized_xforward_hosts (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.1 and later.
By default, no clients are allowed to specify XFORWARD.
Specify a list of network/netmask patterns, separated by commas and/or whitespace. The mask specifies the number of bits in the network part of a host address. You can also specify hostnames or .domain names (the initial dot causes the domain to match any name below it), "/file/name" or "type:table" patterns. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a table entry matches a lookup string (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude an address or network block from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
Note: IP version 6 address information must be specified inside [] in the smtpd_authorized_xforward_hosts value, and in files specified with "/file/name". IP version 6 addresses contain the ":" character, and would otherwise be confused with a "type:table" pattern.
smtpd_banner (default: $myhostname ESMTP $mail_name) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
You MUST specify $myhostname at the start of the text. This is required by the SMTP protocol.
Example:
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_client_connection_count_limit (default: 50) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
To disable this feature, specify a limit of 0.
WARNING: The purpose of this feature is to limit abuse. It must not be used to regulate legitimate mail traffic.
smtpd_client_connection_rate_limit (default: 0) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, a client can make as many connections per time unit as Postfix can accept.
To disable this feature, specify a limit of 0.
WARNING: The purpose of this feature is to limit abuse. It must not be used to regulate legitimate mail traffic.
This feature is available in Postfix 2.2 and later.
Example:
smtpd_client_connection_rate_limit = 1000
smtpd_client_event_limit_exceptions (default: $mynetworks) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, clients in trusted networks are excluded. Specify a list of network blocks, hostnames or .domain names (the initial dot causes the domain to match any name below it).
Note: IP version 6 address information must be specified inside [] in the smtpd_client_event_limit_exceptions value, and in files specified with "/file/name". IP version 6 addresses contain the ":" character, and would otherwise be confused with a "type:table" pattern.
smtpd_client_message_rate_limit (default: 0) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, a client can send as many message delivery requests per time unit as Postfix can accept.
To disable this feature, specify a limit of 0.
WARNING: The purpose of this feature is to limit abuse. It must not be used to regulate legitimate mail traffic.
This feature is available in Postfix 2.2 and later.
Example:
smtpd_client_message_rate_limit = 1000
smtpd_client_new_tls_session_rate_limit (default: 0) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, a remote SMTP client can negotiate as many new TLS sessions per time unit as Postfix can accept.
To disable this feature, specify a limit of 0. Otherwise, specify a limit that is at least the per-client concurrent session limit, or else legitimate client sessions may be rejected.
WARNING: The purpose of this feature is to limit abuse. It must not be used to regulate legitimate mail traffic.
This feature is available in Postfix 2.3 and later.
Example:
smtpd_client_new_tls_session_rate_limit = 100
smtpd_client_port_logging (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_client_recipient_rate_limit (default: 0) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, a client can make as many recipient addresses per time unit as Postfix can accept.
To disable this feature, specify a limit of 0.
WARNING: The purpose of this feature is to limit abuse. It must not be used to regulate legitimate mail traffic.
This feature is available in Postfix 2.2 and later.
Example:
smtpd_client_recipient_rate_limit = 1000
smtpd_client_restrictions (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default is to allow all connection requests.
Specify a list of restrictions, separated by commas and/or whitespace. Continue long lines by starting the next line with whitespace. Restrictions are applied in the order as specified; the first restriction that matches wins.
The following restrictions are specific to client hostname or client network address information.
In addition, you can use any of the following generic restrictions. These restrictions are applicable in any SMTP command context.
/etc/postfix/main.cf: smtpd_client_restrictions = sleep 1, reject_unauth_pipelining smtpd_delay_reject = noThis feature is available in Postfix 2.3.
Other restrictions that are valid in this context:
Example:
smtpd_client_restrictions = permit_mynetworks, reject_unknown_client_hostname
smtpd_data_restrictions (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.0 and later.
Specify a list of restrictions, separated by commas and/or whitespace. Continue long lines by starting the next line with whitespace. Restrictions are applied in the order as specified; the first restriction that matches wins.
The following restrictions are valid in this context:
Examples:
smtpd_data_restrictions = reject_unauth_pipelining smtpd_data_restrictions = reject_multi_recipient_bounce
smtpd_delay_open_until_valid_rcpt (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
With sites that reject lots of mail, the default setting reduces the use of disk, CPU and memory resources. The downside is that rejected recipients are logged with NOQUEUE instead of a mail transaction ID. This complicates the logfile analysis of multi-recipient mail.
smtpd_delay_reject (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is turned on by default because some clients apparently mis-behave when the Postfix SMTP server rejects commands before RCPT TO.
The default setting has one major benefit: it allows Postfix to log recipient address information when rejecting a client name/address or sender address, so that it is possible to find out whose mail is being rejected.
smtpd_discard_ehlo_keyword_address_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_discard_ehlo_keywords (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.2 and later.
Notes:
smtpd_end_of_data_restrictions (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.2 and later.
smtpd_enforce_tls (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note 1: "smtpd_enforce_tls = yes" implies "smtpd_tls_auth_only = yes".
Note 2: when invoked via "sendmail -bs", Postfix will never offer STARTTLS due to insufficient privileges to access the server private key. This is intended behavior.
This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtpd_tls_security_level instead.
smtpd_error_sleep_time (default: 1s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
With Postfix version 2.0 and earlier: the SMTP server delay before sending a reject (4xx or 5xx) response, when the client has made fewer than $smtpd_soft_error_limit errors without delivering mail.
smtpd_etrn_restrictions (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The Postfix ETRN implementation accepts only destinations that are eligible for the Postfix "fast flush" service. See the ETRN_README file for details.
Specify a list of restrictions, separated by commas and/or whitespace. Continue long lines by starting the next line with whitespace. Restrictions are applied in the order as specified; the first restriction that matches wins.
The following restrictions are specific to the domain name information received with the ETRN command.
Other restrictions that are valid in this context:
Example:
smtpd_etrn_restrictions = permit_mynetworks, reject
smtpd_expansion_filter (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This parameter is not subjected to $parameter expansion.
smtpd_forbidden_commands (default: CONNECT, GET, POST) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_hard_error_limit (default: 20) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_helo_required (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
smtpd_helo_required = yes
smtpd_helo_restrictions (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default is to permit everything.
Specify a list of restrictions, separated by commas and/or whitespace. Continue long lines by starting the next line with whitespace. Restrictions are applied in the order as specified; the first restriction that matches wins.
The following restrictions are specific to the hostname information received with the HELO or EHLO command.
Other restrictions that are valid in this context:
Examples:
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname smtpd_helo_restrictions = permit_mynetworks, reject_unknown_helo_hostname
smtpd_history_flush_threshold (default: 100) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_junk_command_limit (default: 100) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_milters (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_noop_commands (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_null_access_lookup_key (default: <>) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_peername_lookup (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_policy_service_max_idle (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_policy_service_max_ttl (default: 1000s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_policy_service_timeout (default: 100s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_proxy_ehlo (default: $myhostname) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_proxy_filter (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify "host:port" or "inet:host:port" for a TCP endpoint, or "unix:pathname" for a UNIX-domain endpoint. The host can be specified as an IP address or as a symbolic name; no MX lookups are done. When no "host" or "host:" are specified, the local machine is assumed. Pathname interpretation is relative to the Postfix queue directory.
This feature is available in Postfix 2.1 and later.
The "inet:" and "unix:" prefixes are available in Postfix 2.3 and later.
smtpd_proxy_timeout (default: 100s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
smtpd_recipient_limit (default: 1000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_recipient_overshoot_limit (default: 1000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_recipient_restrictions (default: permit_mynetworks, reject_unauth_destination) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, the Postfix SMTP server accepts:
IMPORTANT: If you change this parameter setting, you must specify at least one of the following restrictions. Otherwise Postfix will refuse to receive mail:
reject, defer, defer_if_permit, reject_unauth_destination
Specify a list of restrictions, separated by commas and/or whitespace. Continue long lines by starting the next line with whitespace. Restrictions are applied in the order as specified; the first restriction that matches wins.
The following restrictions are specific to the recipient address that is received with the RCPT TO command.
Other restrictions that are valid in this context:
Example:
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
smtpd_reject_unlisted_recipient (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_reject_unlisted_sender (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_restriction_classes (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
One major application is for implementing per-recipient UCE control. See the RESTRICTION_CLASS_README document for other examples.
smtpd_sasl_application_name (default: smtpd) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.1 and 2.2. With Postfix 2.3 it was renamed to smtpd_sasl_path.
smtpd_sasl_auth_enable (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
If a remote SMTP client is authenticated, the permit_sasl_authenticated access restriction can be used to permit relay access, like this:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, ...
To reject all SMTP connections from unauthenticated clients, specify "smtpd_delay_reject = yes" (which is the default) and use:
smtpd_client_restrictions = permit_sasl_authenticated, reject
See the SASL_README file for SASL configuration and operation details.
smtpd_sasl_authenticated_header (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_sasl_exceptions_networks (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Some clients (Netscape 4 at least) have a bug that causes them to require a login and password whenever AUTH is offered, whether it's necessary or not. To work around this, specify, for example, $mynetworks to prevent Postfix from offering AUTH to local clients.
Specify a list of network/netmask patterns, separated by commas and/or whitespace. The mask specifies the number of bits in the network part of a host address. You can also "/file/name" or "type:table" patterns. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a table entry matches a lookup string (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude an address or network block from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
Note: IP version 6 address information must be specified inside [] in the smtpd_sasl_exceptions_networks value, and in files specified with "/file/name". IP version 6 addresses contain the ":" character, and would otherwise be confused with a "type:table" pattern.
Example:
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_local_domain (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, the local authentication realm name is the null string.
Examples:
smtpd_sasl_local_domain = $mydomain smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path (default: smtpd) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.3 and later. In earlier releases it was called smtpd_sasl_application_name.
smtpd_sasl_security_options (default: noanonymous) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The following security features are defined for the cyrus server SASL implementation:
Restrict what authentication mechanisms the Postfix SMTP server will offer to the client. The list of available authentication mechanisms is system dependent.
Specify zero or more of the following:
By default, the Postfix SMTP server accepts plaintext passwords but not anonymous logins.
Warning: it appears that clients try authentication methods in the order as advertised by the server (e.g., PLAIN ANONYMOUS CRAM-MD5) which means that if you disable plaintext passwords, clients will log in anonymously, even when they should be able to use CRAM-MD5. So, if you disable plaintext logins, disable anonymous logins too. Postfix treats anonymous login as no authentication.
Example:
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_tls_security_options (default: $smtpd_sasl_security_options) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_sasl_type (default: cyrus) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_sender_login_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify zero or more "type:table" lookup tables. With lookups from indexed files such as DB or DBM, or from networked tables such as NIS, LDAP or SQL, the following search operations are done with a sender address of user@domain:
In all cases the result of table lookup must be either "not found" or a list of SASL login names separated by comma and/or whitespace.
smtpd_sender_restrictions (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default is to permit everything.
Specify a list of restrictions, separated by commas and/or whitespace. Continue long lines by starting the next line with whitespace. Restrictions are applied in the order as specified; the first restriction that matches wins.
The following restrictions are specific to the sender address received with the MAIL FROM command.
Other restrictions that are valid in this context:
Examples:
smtpd_sender_restrictions = reject_unknown_sender_domain smtpd_sender_restrictions = reject_unknown_sender_domain, check_sender_access hash:/etc/postfix/access
smtpd_soft_error_limit (default: 10) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_starttls_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_timeout (default: 300s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: if you set SMTP time limits to very large values you may have to update the global ipc_timeout parameter.
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
smtpd_tls_CAfile (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
smtpd_tls_CAfile = /etc/postfix/CAcert.pem
smtpd_tls_CApath (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
To use this option in chroot mode, this directory (or a copy) must be inside the chroot jail. Please note that in this case the CA certificates are not offered to the client, so that e.g. Netscape clients might not offer certificates issued by them. Use of this feature is therefore not recommended.
Example:
smtpd_tls_CApath = /etc/postfix/certs
smtpd_tls_always_issue_session_ids (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
With Postfix 2.3 and later the Postfix SMTP server can disable session id generation when TLS session caching is turned off. This keeps clients from caching sessions that almost certainly cannot be re-used.
By default, the Postfix SMTP server always generates TLS session ids. This works around a known defect in mail client applications such as MS Outlook, and may also prevent interoperability issues with other MTAs.
Example:
smtpd_tls_always_issue_session_ids = no
smtpd_tls_ask_ccert (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Some clients such as Netscape will either complain if no certificate is available (for the list of CAs in $smtpd_tls_CAfile) or will offer multiple client certificates to choose from. This may be annoying, so this option is "off" by default.
smtpd_tls_auth_only (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_tls_ccert_verifydepth (default: 9) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default verification depth is 9 (the OpenSSL default) for compatibility with earlier Postfix behavior. Prior to Postfix 2.5, the default value was 5, but the limit was not actually enforced. If you have set this to a lower non-default value, certificates with longer trust chains may now fail to verify. Certificate chains with 1 or 2 CAs are common, deeper chains are more rare and any number between 5 and 9 should suffice in practice. You can choose a lower number if, for example, you trust certificates directly signed by an issuing CA but not any CAs it delegates to.
smtpd_tls_cert_file (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Public Internet MX hosts without certificates signed by a "reputable" CA must generate, and be prepared to present to most clients, a self-signed or private-CA signed certificate. The client will not be able to authenticate the server, but unless it is running Postfix 2.3 or similar software, it will still insist on a server certificate.
For servers that are not public Internet MX hosts, Postfix 2.3 supports configurations with no certificates. This entails the use of just the anonymous TLS ciphers, which are not supported by typical SMTP clients. Since such clients will not, as a rule, fall back to plain text after a TLS handshake failure, the server will be unable to receive email from TLS enabled clients. To avoid accidental configurations with no certificates, Postfix 2.3 enables certificate-less operation only when the administrator explicitly sets "smtpd_tls_cert_file = none". This ensures that new Postfix configurations will not accidentally run with no certificates.
Both RSA and DSA certificates are supported. When both types are present, the cipher used determines which certificate will be presented to the client. For Netscape and OpenSSL clients without special cipher choices the RSA certificate is preferred.
In order to verify a certificate, the CA certificate (in case of a certificate chain, all CA certificates) must be available. You should add these certificates to the server certificate, the server certificate first, then the issuing CA(s).
Example: the certificate for "server.dom.ain" was issued by "intermediate CA" which itself has a certificate of "root CA". Create the server.pem file with "cat server_cert.pem intermediate_CA.pem root_CA.pem > server.pem".
If you also want to verify client certificates issued by these CAs, you can add the CA certificates to the smtpd_tls_CAfile, in which case it is not necessary to have them in the smtpd_tls_cert_file or smtpd_tls_dcert_file.
A certificate supplied here must be usable as an SSL server certificate and hence pass the "openssl verify -purpose sslserver ..." test.
Example:
smtpd_tls_cert_file = /etc/postfix/server.pem
smtpd_tls_cipherlist (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: do not use "" quotes around the parameter value.
This feature is available with Postfix version 2.2. It is not used with Postfix 2.3 and later; use smtpd_tls_mandatory_ciphers instead.
smtpd_tls_dcert_file (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
See the discussion under smtpd_tls_cert_file for more details.
Example:
smtpd_tls_dcert_file = /etc/postfix/server-dsa.pem
smtpd_tls_dh1024_param_file (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Instead of using the exact same parameter sets as distributed with other TLS packages, it is more secure to generate your own set of parameters with something like the following command:
openssl gendh -out /etc/postfix/dh_1024.pem -2 1024
Your actual source for entropy may differ. Some systems have /dev/random; on other system you may consider using the "Entropy Gathering Daemon EGD", available at http://egd.sourceforge.net/
Example:
smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem
smtpd_tls_dh512_param_file (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
See also the discussion under the smtpd_tls_dh1024_param_file configuration parameter.
Example:
smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem
smtpd_tls_dkey_file (default: $smtpd_tls_dcert_file) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The private key must be accessible without a pass-phrase, i.e. it must not be encrypted, but file permissions should grant read/write access only to the system superuser account ("root").
smtpd_tls_exclude_ciphers (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Examples (some of these will cause problems):
smtpd_tls_exclude_ciphers = aNULL smtpd_tls_exclude_ciphers = MD5, DES smtpd_tls_exclude_ciphers = DES+MD5 smtpd_tls_exclude_ciphers = AES256-SHA, DES-CBC3-MD5 smtpd_tls_exclude_ciphers = kEDH+aRSA
The first setting disables anonymous ciphers. The next setting disables ciphers that use the MD5 digest algorithm or the (single) DES encryption algorithm. The next setting disables ciphers that use MD5 and DES together. The next setting disables the two ciphers "AES256-SHA" and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH" key exchange with RSA authentication.
smtpd_tls_fingerprint_digest (default: md5) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The best practice algorithm is now sha1. Recent advances in hash function cryptanalysis have led to md5 being deprecated in favor of sha1. However, as long as there are no known "second pre-image" attacks against md5, its use in this context can still be considered safe.
While additional digest algorithms are often available with OpenSSL's libcrypto, only those used by libssl in SSL cipher suites are available to Postfix. For now this means just md5 or sha1.
To find the fingerprint of a specific certificate file, with a specific digest algorithm, run:
$ openssl x509 -noout -fingerprint -digest -in certfile.pem
The text to the right of "=" sign is the desired fingerprint. For example:
$ openssl x509 -noout -fingerprint -sha1 -in cert.pem SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
Example: client-certificate access table, with sha1 fingerprints:
/etc/postfix/main.cf: smtpd_tls_fingerprint_digest = sha1 smtpd_client_restrictions = check_ccert_access hash:/etc/postfix/access, reject
/etc/postfix/access: # Action folded to next line... AF:88:7C:AD:51:95:6F:36:96:F6:01:FB:2E:48:CD:AB:49:25:A2:3B OK 85:16:78:FD:73:6E:CE:70:E0:31:5F:0D:3C:C8:6D:C4:2C:24:59:E1 permit_auth_destination
smtpd_tls_key_file (default: $smtpd_tls_cert_file) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The private key must be accessible without a pass-phrase, i.e. it must not be encrypted, but file permissions should grant read/write access only to the system superuser account ("root").
smtpd_tls_loglevel (default: 0) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Use "smtpd_tls_loglevel = 3" only in case of problems. Use of loglevel 4 is strongly discouraged.
smtpd_tls_mandatory_ciphers (default: medium) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The following cipher grades are supported:
smtpd_tls_mandatory_exclude_ciphers (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_tls_mandatory_protocols (default: SSLv3, TLSv1) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
With Postfix >= 2.5 the parameter syntax is expanded to support protocol exclusions. One can now explicitly exclude SSLv2 by setting "smtpd_tls_mandatory_protocols = !SSLv2". To exclude both SSLv2 and SSLv3 set "smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3". Listing the protocols to include, rather than protocols to exclude, is still supported, use the form you find more intuitive.
Since SSL version 2 has known protocol weaknesses and is now deprecated, the default setting excludes "SSLv2". This means that by default, SSL version 2 will not be used at the "encrypt" security level.
Example:
smtpd_tls_mandatory_protocols = TLSv1 # Alternative form with Postfix >= 2.5: smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_received_header (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_tls_req_ccert (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
When TLS encryption is optional, this setting is ignored with a warning written to the mail log.
smtpd_tls_security_level (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify one of the following security levels:
Note 1: the "fingerprint", "verify" and "secure" levels are not supported here. The Postfix SMTP server logs a warning and uses "encrypt" instead. To verify SMTP client certificates, see TLS_README for a discussion of the smtpd_tls_ask_ccert, smtpd_tls_req_ccert, and permit_tls_clientcerts features.
Note 2: The parameter setting "smtpd_tls_security_level = encrypt" implies "smtpd_tls_auth_only = yes".
Note 3: when invoked via "sendmail -bs", Postfix will never offer STARTTLS due to insufficient privileges to access the server private key. This is intended behavior.
smtpd_tls_session_cache_database (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: dbm databases are not suitable. TLS session objects are too large.
As of version 2.5, Postfix no longer uses root privileges when opening this file. The file should now be stored under the Postfix-owned data_directory. As a migration aid, an attempt to open the file under a non-Postfix directory is redirected to the Postfix-owned data_directory, and a warning is logged.
Example:
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
smtpd_tls_session_cache_timeout (default: 3600s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
smtpd_tls_wrappermode (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
If you want to support this service, enable a special port in master.cf, and specify "-o smtpd_tls_wrappermode=yes" on the SMTP server's command line. Port 465 (smtps) was once chosen for this purpose.
smtpd_use_tls (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: when invoked via "sendmail -bs", Postfix will never offer STARTTLS due to insufficient privileges to access the server private key. This is intended behavior.
This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtpd_tls_security_level instead.
soft_bounce (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
soft_bounce = yes
stale_lock_time (default: 500s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
stress (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
strict_7bit_headers (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature should not be enabled on a general purpose mail server, because it is likely to reject legitimate email.
strict_8bitmime (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature should not be enabled on a general purpose mail server, because it is likely to reject legitimate email.
strict_8bitmime_body (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Unfortunately, this also rejects majordomo approval requests when the included request contains valid 8-bit MIME mail, and it rejects bounces from mailers that do not MIME encapsulate 8-bit content (for example, bounces from qmail or from old versions of Postfix).
This feature should not be enabled on a general purpose mail server, because it is likely to reject legitimate email.
strict_mailbox_ownership (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
strict_mime_encoding_domain (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature should not be enabled on a general purpose mail server, because it will reject mail after a single violation.
strict_rfc821_envelopes (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
By default, the Postfix SMTP server accepts RFC 822 syntax in MAIL FROM and RCPT TO addresses.
sun_mailtool_compatibility (default: no) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
swap_bangpath (default: yes) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: with Postfix version 2.2, message header address rewriting happens only when one of the following conditions is true:
To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".
Example:
swap_bangpath = no
syslog_facility (default: mail) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Warning: a non-default syslog_facility setting takes effect only after a Postfix process has completed initialization. Errors during process initialization will be logged with the default facility. Examples are errors while parsing the command line arguments, and errors while accessing the Postfix main.cf configuration file.
syslog_name (default: postfix) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Warning: a non-default syslog_name setting takes effect only after a Postfix process has completed initialization. Errors during process initialization will be logged with the default name. Examples are errors while parsing the command line arguments, and errors while accessing the Postfix main.cf configuration file.
tls_daemon_random_bytes (default: 32) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
tls_export_cipherlist (default: ALL:+RC4:@STRENGTH) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
tls_high_cipherlist (default: ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
tls_low_cipherlist (default: ALL:!EXPORT:+RC4:@STRENGTH) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
tls_medium_cipherlist (default: ALL:!EXPORT:!LOW:+RC4:@STRENGTH) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
tls_null_cipherlist (default: eNULL:!aNULL) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
tls_random_bytes (default: 32) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
tls_random_exchange_name (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
As of version 2.5, Postfix no longer uses root privileges when opening this file, and the default file location was changed from ${config_directory}/prng_exch to ${data_directory}/prng_exch. As a migration aid, an attempt to open the file under a non-Postfix directory is redirected to the Postfix-owned data_directory, and a warning is logged.
tls_random_prng_update_period (default: 3600s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
tls_random_reseed_period (default: 3600s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
tls_random_source (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Note: on OpenBSD systems specify /dev/arandom when /dev/urandom gives timeout errors.
trace_service_name (default: trace) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_delivery_slot_cost (default: $default_delivery_slot_cost) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_delivery_slot_discount (default: $default_delivery_slot_discount) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_delivery_slot_loan (default: $default_delivery_slot_loan) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_destination_concurrency_failed_cohort_limit (default: $default_destination_concurrency_failed_cohort_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_destination_concurrency_limit (default: $default_destination_concurrency_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_destination_concurrency_negative_feedback (default: $default_destination_concurrency_negative_feedback) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_destination_concurrency_positive_feedback (default: $default_destination_concurrency_positive_feedback) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_destination_rate_delay (default: $default_destination_rate_delay) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_destination_recipient_limit (default: $default_destination_recipient_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_extra_recipient_limit (default: $default_extra_recipient_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_initial_destination_concurrency (default: $initial_destination_concurrency) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify zero or more "type:table" lookup tables. If you use this feature with local files, run "postmap /etc/postfix/transport" after making a change.
For safety reasons, as of Postfix 2.3 this feature does not allow $number substitutions in regular expression maps.
Examples:
transport_maps = dbm:/etc/postfix/transport transport_maps = hash:/etc/postfix/transport
transport_minimum_delivery_slots (default: $default_minimum_delivery_slots) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_recipient_limit (default: $default_recipient_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_recipient_refill_delay (default: $default_recipient_refill_delay) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_recipient_refill_limit (default: $default_recipient_refill_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
transport_retry_time (default: 60s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
transport_time_limit (default: $command_time_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
trigger_timeout (default: 10s) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).
undisclosed_recipients_header (default: To: undisclosed-recipients:;) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
unknown_address_reject_code (default: 450) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Do not change this unless you have a complete understanding of RFC 821.
unknown_client_reject_code (default: 450) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Do not change this unless you have a complete understanding of RFC 821.
unknown_hostname_reject_code (default: 450) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Do not change this unless you have a complete understanding of RFC 821.
unknown_local_recipient_reject_code (default: 550) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The default setting is 550 (reject mail) but it is safer to initially use 450 (try again later) so you have time to find out if your local_recipient_maps settings are OK.
Example:
unknown_local_recipient_reject_code = 450
unknown_relay_recipient_reject_code (default: 550) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
unknown_virtual_alias_reject_code (default: 550) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
unknown_virtual_mailbox_reject_code (default: 550) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
unverified_recipient_reject_code (default: 450) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Unlike elsewhere in Postfix, you can specify 250 in order to accept the address anyway.
Do not change this unless you have a complete understanding of RFC 821.
unverified_sender_reject_code (default: 450) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Unlike elsewhere in Postfix, you can specify 250 in order to accept the address anyway.
Do not change this unless you have a complete understanding of RFC 821.
verp_delimiter_filter (default: -=+) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
virtual_alias_domains (default: $virtual_alias_maps) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.0 and later. The default value is backwards compatible with Postfix version 1.1.
The default value is $virtual_alias_maps so that you can keep all information about virtual alias domains in one place. If you have many users, it is better to separate information that changes more frequently (virtual address -> local or remote address mapping) from information that changes less frequently (the list of virtual domain names).
Specify a list of host or domain names, "/file/name" or "type:table" patterns, separated by commas and/or whitespace. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a table entry matches a lookup string (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude a host or domain name from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.
See also the VIRTUAL_README and ADDRESS_CLASS_README documents for further information.
Example:
virtual_alias_domains = virtual1.tld virtual2.tld
virtual_alias_expansion_limit (default: 1000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
virtual_alias_maps (default: $virtual_maps) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This feature is available in Postfix 2.0 and later. The default value is backwards compatible with Postfix version 1.1.
If you use this feature with indexed files, run "postmap /etc/postfix/virtual" after changing the file.
Examples:
virtual_alias_maps = dbm:/etc/postfix/virtual virtual_alias_maps = hash:/etc/postfix/virtual
virtual_alias_recursion_limit (default: 1000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
virtual_destination_concurrency_limit (default: $default_destination_concurrency_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
virtual_destination_recipient_limit (default: $default_destination_recipient_limit) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Setting this parameter to a value of 1 changes the meaning of virtual_destination_concurrency_limit from concurrency per domain into concurrency per recipient.
virtual_gid_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
In a lookup table, specify a left-hand side of "@domain.tld" to match any user in the specified domain that does not have a specific "user@domain.tld" entry.
When a recipient address has an optional address extension (user+foo@domain.tld), the virtual(8) delivery agent looks up the full address first, and when the lookup fails, it looks up the unextended address (user@domain.tld).
Note 1: for security reasons, the virtual(8) delivery agent disallows regular expression substitution of $1 etc. in regular expression lookup tables, because that would open a security hole.
Note 2: for security reasons, the virtual(8) delivery agent will silently ignore requests to use the proxymap(8) server. Instead it will open the table directly. Before Postfix version 2.2, the virtual(8) delivery agent will terminate with a fatal error.
virtual_mailbox_base (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Example:
virtual_mailbox_base = /var/mail
virtual_mailbox_domains (default: $virtual_mailbox_maps) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This parameter expects the same syntax as the mydestination configuration parameter.
This feature is available in Postfix 2.0 and later. The default value is backwards compatible with Postfix version 1.1.
virtual_mailbox_limit (default: 51200000) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
virtual_mailbox_lock (default: see postconf -d output) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This setting is ignored with maildir style delivery, because such deliveries are safe without application-level locks.
Note 1: the dotlock method requires that the recipient UID or GID has write access to the parent directory of the recipient's mailbox file.
Note 2: the default setting of this parameter is system dependent.
virtual_mailbox_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
In a lookup table, specify a left-hand side of "@domain.tld" to match any user in the specified domain that does not have a specific "user@domain.tld" entry.
The virtual(8) delivery agent uses this table to look up the per-recipient mailbox or maildir pathname. If the lookup result ends in a slash ("/"), maildir-style delivery is carried out, otherwise the path is assumed to specify a UNIX-style mailbox file. Note that $virtual_mailbox_base is unconditionally prepended to this path.
When a recipient address has an optional address extension (user+foo@domain.tld), the virtual(8) delivery agent looks up the full address first, and when the lookup fails, it looks up the unextended address (user@domain.tld).
Note 1: for security reasons, the virtual(8) delivery agent disallows regular expression substitution of $1 etc. in regular expression lookup tables, because that would open a security hole.
Note 2: for security reasons, the virtual(8) delivery agent will silently ignore requests to use the proxymap(8) server. Instead it will open the table directly. Before Postfix version 2.2, the virtual(8) delivery agent will terminate with a fatal error.
virtual_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
virtual_minimum_uid (default: 100) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
virtual_transport (default: virtual) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Specify a string of the form transport:nexthop, where transport is the name of a mail delivery transport defined in master.cf. The :nexthop part is optional. For more details see the transport(5) manual page.
virtual_uid_maps (default: empty) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
In a lookup table, specify a left-hand side of "@domain.tld" to match any user in the specified domain that does not have a specific "user@domain.tld" entry.
When a recipient address has an optional address extension (user+foo@domain.tld), the virtual(8) delivery agent looks up the full address first, and when the lookup fails, it looks up the unextended address (user@domain.tld).
Note 1: for security reasons, the virtual(8) delivery agent disallows regular expression substitution of $1 etc. in regular expression lookup tables, because that would open a security hole.
Note 2: for security reasons, the virtual(8) delivery agent will silently ignore requests to use the proxymap(8) server. Instead it will open the table directly. Before Postfix version 2.2, the virtual(8) delivery agent will terminate with a fatal error.
SEE ALSO | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
postconf(1), Postfix configuration parameter maintenance master(5), Postfix daemon configuration maintenance
LICENSE | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
AUTHOR(S) | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA
Sommaire | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
Table des mots clés | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
$client | default_rbl_reply (default: see postconf -d output) |
$client_address | default_rbl_reply (default: see postconf -d output) |
$client_name | default_rbl_reply (default: see postconf -d output) |
$domain | luser_relay (default: empty) |
$extension | luser_relay (default: empty) |
$helo_name | default_rbl_reply (default: see postconf -d output) |
$home | luser_relay (default: empty) |
$local | luser_relay (default: empty) |
$rbl_class | default_rbl_reply (default: see postconf -d output) |
$rbl_code | default_rbl_reply (default: see postconf -d output) |
$rbl_domain | default_rbl_reply (default: see postconf -d output) |
$rbl_reason | default_rbl_reply (default: see postconf -d output) |
$rbl_what | default_rbl_reply (default: see postconf -d output) |
$recipient | luser_relay (default: empty) |
$recipient_delimiter | luser_relay (default: empty) |
$recipient_domain | default_rbl_reply (default: see postconf -d output) |
$recipient_name | default_rbl_reply (default: see postconf -d output) |
$reverse_client_name | default_rbl_reply (default: see postconf -d output) |
$sender | default_rbl_reply (default: see postconf -d output) |
$sender_domain | default_rbl_reply (default: see postconf -d output) |
$sender_name | default_rbl_reply (default: see postconf -d output) |
$shell | luser_relay (default: empty) |
$user | luser_relay (default: empty) |
${name:text} | default_rbl_reply (default: see postconf -d output) |
${name:value} | luser_relay (default: empty) |
${name?text} | default_rbl_reply (default: see postconf -d output) |
${name?value} | luser_relay (default: empty) |
2bounce | notify_classes (default: resource, software) |
bounce | internal_mail_filter_classes (default: empty) |
bounce (also implies 2bounce) | notify_classes (default: resource, software) |
check_address_map type:table | local_header_rewrite_clients (default: permit_inet_interfaces) |
check_ccert_access type:table | smtpd_client_restrictions (default: empty) |
check_client_access type:table | smtpd_client_restrictions (default: empty) |
check_etrn_access type:table | smtpd_etrn_restrictions (default: empty) |
check_helo_access type:table | smtpd_helo_restrictions (default: empty) |
check_helo_mx_access type:table | smtpd_helo_restrictions (default: empty) |
check_helo_ns_access type:table | smtpd_helo_restrictions (default: empty) |
check_policy_service servername | smtpd_client_restrictions (default: empty) |
check_recipient_access type:table | smtpd_recipient_restrictions (default: permit_mynetworks, reject_unauth_destination) |
check_recipient_mx_access type:table | smtpd_recipient_restrictions (default: permit_mynetworks, reject_unauth_destination) |
check_recipient_ns_access type:table | smtpd_recipient_restrictions (default: permit_mynetworks, reject_unauth_destination) |
check_sender_access type:table | smtpd_sender_restrictions (default: empty) |
check_sender_mx_access type:table | smtpd_sender_restrictions (default: empty) |
check_sender_ns_access type:table | smtpd_sender_restrictions (default: empty) |
CLIENT_ADDRESS | mailbox_command (default: empty) |
CLIENT_HELO | mailbox_command (default: empty) |
CLIENT_HOSTNAME | mailbox_command (default: empty) |
CLIENT_PROTOCOL | mailbox_command (default: empty) |
defer | smtpd_client_restrictions (default: empty) |
defer_if_permit | smtpd_client_restrictions (default: empty) |
defer_if_reject | smtpd_client_restrictions (default: empty) |
delay | notify_classes (default: resource, software) |
delay_dotcrlf | smtp_pix_workarounds (default: disable_esmtp, delay_dotcrlf) |
disable_esmtp | smtp_pix_workarounds (default: disable_esmtp, delay_dotcrlf) |
DISPLAY | import_environment (default: see postconf -d output) |
dns | smtp_host_lookup (default: dns) |
dns, native | smtp_host_lookup (default: dns) |
DOMAIN | mailbox_command (default: empty) |
encrypt | smtpd_tls_security_level (default: empty) |
export | smtpd_tls_mandatory_ciphers (default: medium) |
EXTENSION | mailbox_command (default: empty) |
fingerprint | smtp_tls_security_level (default: empty) |
forward_secrecy | smtpd_sasl_security_options (default: noanonymous) |
high | smtpd_tls_mandatory_ciphers (default: medium) |
HOME | mailbox_command (default: empty) |
LOCAL | mailbox_command (default: empty) |
LOGNAME | mailbox_command (default: empty) |
low | smtpd_tls_mandatory_ciphers (default: medium) |
MAIL_CONFIG | import_environment (default: see postconf -d output) |
may | smtpd_tls_security_level (default: empty) |
medium | smtpd_tls_mandatory_ciphers (default: medium) |
mutual_auth | smtpd_sasl_security_options (default: noanonymous) |
native | smtp_host_lookup (default: dns) |
no_address_mappings | receive_override_options (default: empty) |
no_header_body_checks | receive_override_options (default: empty) |
no_milters | receive_override_options (default: empty) |
no_unknown_recipient_checks | receive_override_options (default: empty) |
noactive | smtpd_sasl_security_options (default: noanonymous) |
noanonymous | smtpd_sasl_security_options (default: noanonymous) |
nodictionary | smtpd_sasl_security_options (default: noanonymous) |
none | smtpd_tls_security_level (default: empty) |
noplaintext | smtpd_sasl_security_options (default: noanonymous) |
notify | internal_mail_filter_classes (default: empty) |
null | smtpd_tls_mandatory_ciphers (default: medium) |
number | default_destination_concurrency_positive_feedback (default: 1) |
number / concurrency | default_destination_concurrency_positive_feedback (default: 1) |
number / number | default_destination_concurrency_positive_feedback (default: 1) |
ORIGINAL_RECIPIENT | mailbox_command (default: empty) |
permit | smtpd_client_restrictions (default: empty) |
permit_auth_destination | smtpd_recipient_restrictions (default: permit_mynetworks, reject_unauth_destination) |
permit_inet_interfaces | smtpd_client_restrictions (default: empty) |
permit_mx_backup | smtpd_recipient_restrictions (default: permit_mynetworks, reject_unauth_destination) |
permit_mynetworks | smtpd_client_restrictions (default: empty) |
permit_sasl_authenticated | smtpd_client_restrictions (default: empty) |
permit_sasl_authenticated | local_header_rewrite_clients (default: permit_inet_interfaces) |
permit_tls_all_clientcerts | smtpd_client_restrictions (default: empty) |
permit_tls_all_clientcerts | local_header_rewrite_clients (default: permit_inet_interfaces) |
permit_tls_clientcerts | smtpd_client_restrictions (default: empty) |
permit_tls_clientcerts | local_header_rewrite_clients (default: permit_inet_interfaces) |
policy | notify_classes (default: resource, software) |
protocol | notify_classes (default: resource, software) |
RECIPIENT | mailbox_command (default: empty) |
reject | smtpd_client_restrictions (default: empty) |
reject_authenticated_sender_login_mismatch | smtpd_sender_restrictions (default: empty) |
reject_invalid_helo_hostname (with Postfix < 2.3: reject_invalid_hostname) | smtpd_helo_restrictions (default: empty) |
reject_multi_recipient_bounce | smtpd_client_restrictions (default: empty) |
reject_non_fqdn_helo_hostname (with Postfix < 2.3: reject_non_fqdn_hostname) | smtpd_helo_restrictions (default: empty) |
reject_non_fqdn_recipient | smtpd_recipient_restrictions (default: permit_mynetworks, reject_unauth_destination) |
reject_non_fqdn_sender | smtpd_sender_restrictions (default: empty) |
reject_plaintext_session | smtpd_client_restrictions (default: empty) |
reject_rbl_client rbl_domain=d.d.d.d | smtpd_client_restrictions (default: empty) |
reject_rhsbl_client rbl_domain=d.d.d.d | smtpd_client_restrictions (default: empty) |
reject_rhsbl_helo rbl_domain=d.d.d.d | smtpd_helo_restrictions (default: empty) |
reject_rhsbl_recipient rbl_domain=d.d.d.d | smtpd_recipient_restrictions (default: permit_mynetworks, reject_unauth_destination) |
reject_rhsbl_sender rbl_domain=d.d.d.d | smtpd_sender_restrictions (default: empty) |
reject_sender_login_mismatch | smtpd_sender_restrictions (default: empty) |
reject_unauth_destination | smtpd_recipient_restrictions (default: permit_mynetworks, reject_unauth_destination) |
reject_unauth_pipelining | smtpd_client_restrictions (default: empty) |
reject_unauthenticated_sender_login_mismatch | smtpd_sender_restrictions (default: empty) |
reject_unknown_client_hostname (with Postfix < 2.3: reject_unknown_client) | smtpd_client_restrictions (default: empty) |
reject_unknown_helo_hostname (with Postfix < 2.3: reject_unknown_hostname) | smtpd_helo_restrictions (default: empty) |
reject_unknown_recipient_domain | smtpd_recipient_restrictions (default: permit_mynetworks, reject_unauth_destination) |
reject_unknown_reverse_client_hostname | smtpd_client_restrictions (default: empty) |
reject_unknown_sender_domain | smtpd_sender_restrictions (default: empty) |
reject_unlisted_recipient (with Postfix version 2.0: check_recipient_maps) | smtpd_recipient_restrictions (default: permit_mynetworks, reject_unauth_destination) |
reject_unlisted_sender | smtpd_sender_restrictions (default: empty) |
reject_unverified_recipient | smtpd_recipient_restrictions (default: permit_mynetworks, reject_unauth_destination) |
reject_unverified_sender | smtpd_sender_restrictions (default: empty) |
resource | notify_classes (default: resource, software) |
SASL_METHOD | mailbox_command (default: empty) |
SASL_SENDER | mailbox_command (default: empty) |
SASL_USER | mailbox_command (default: empty) |
secure | smtp_tls_security_level (default: empty) |
SENDER | mailbox_command (default: empty) |
SHELL | mailbox_command (default: empty) |
sleep seconds | smtpd_client_restrictions (default: empty) |
software | notify_classes (default: resource, software) |
type:table | local_header_rewrite_clients (default: permit_inet_interfaces) |
TZ | import_environment (default: see postconf -d output) |
USER | mailbox_command (default: empty) |
verify | smtp_tls_security_level (default: empty) |
warn_if_reject | smtpd_client_restrictions (default: empty) |
XAUTHORITY | import_environment (default: see postconf -d output) |