13 \fBsmtpd\fR [generic Postfix daemon options]
19 The SMTP server accepts network connection requests
20 and performs zero or more SMTP transactions per connection.
21 Each received message is piped through the \fBcleanup\fR(8)
22 daemon, and is placed into the \fBincoming\fR queue as one
23 single queue file. For this mode of operation, the program
24 expects to be run from the \fBmaster\fR(8) process manager.
26 Alternatively, the SMTP server be can run in stand-alone
27 mode; this is traditionally obtained with "\fBsendmail
28 -bs\fR". When the SMTP server runs stand-alone with non
29 $\fBmail_owner\fR privileges, it receives mail even while
30 the mail system is not running, deposits messages directly
31 into the \fBmaildrop\fR queue, and disables the SMTP server's
32 access policies. As of Postfix version 2.3, the SMTP server
33 refuses to receive mail from the network when it runs with
34 non $\fBmail_owner\fR privileges.
36 The SMTP server implements a variety of policies for connection
37 requests, and for parameters given to \fBHELO, ETRN, MAIL FROM, VRFY\fR
38 and \fBRCPT TO\fR commands. They are detailed below and in the
39 \fBmain.cf\fR configuration file.
45 The SMTP server is moderately security-sensitive. It talks to SMTP
46 clients and to DNS servers on the network. The SMTP server can be
47 run chrooted at fixed low privilege.
51 RFC 821 (SMTP protocol)
52 RFC 1123 (Host requirements)
53 RFC 1652 (8bit-MIME transport)
54 RFC 1869 (SMTP service extensions)
55 RFC 1870 (Message Size Declaration)
56 RFC 1985 (ETRN command)
57 RFC 2034 (SMTP Enhanced Error Codes)
58 RFC 2554 (AUTH command)
59 RFC 2821 (SMTP protocol)
60 RFC 2920 (SMTP Pipelining)
61 RFC 3207 (STARTTLS command)
62 RFC 3461 (SMTP DSN Extension)
63 RFC 3463 (Enhanced Status Codes)
64 RFC 3848 (ESMTP Transmission Types)
65 RFC 4954 (AUTH command)
69 Problems and transactions are logged to \fBsyslogd\fR(8).
71 Depending on the setting of the \fBnotify_classes\fR parameter,
72 the postmaster is notified of bounces, protocol problems,
73 policy violations, and of other trouble.
74 .SH "CONFIGURATION PARAMETERS"
79 Changes to \fBmain.cf\fR are picked up automatically, as \fBsmtpd\fR(8)
80 processes run for only a limited amount of time. Use the command
81 "\fBpostfix reload\fR" to speed up a change.
83 The text below provides only a parameter summary. See
84 \fBpostconf\fR(5) for more details including examples.
85 .SH "COMPATIBILITY CONTROLS"
90 The following parameters work around implementation errors in other
91 software, and/or allow you to override standards in order to prevent
95 .IP "\fBbroken_sasl_auth_clients (no)\fR"
96 Enable inter-operability with SMTP clients that implement an obsolete
97 version of the AUTH command (RFC 4954).
98 .IP "\fBdisable_vrfy_command (no)\fR"
99 Disable the SMTP VRFY command.
100 .IP "\fBsmtpd_noop_commands (empty)\fR"
101 List of commands that the Postfix SMTP server replies to with "250
102 Ok", without doing any syntax checks and without changing state.
103 .IP "\fBstrict_rfc821_envelopes (no)\fR"
104 Require that addresses received in SMTP MAIL FROM and RCPT TO
105 commands are enclosed with <>, and that those addresses do
106 not contain RFC 822 style comments or phrases.
108 Available in Postfix version 2.1 and later:
109 .IP "\fBresolve_null_domain (no)\fR"
110 Resolve an address that ends in the "@" null domain as if the
111 local hostname were specified, instead of rejecting the address as
113 .IP "\fBsmtpd_reject_unlisted_sender (no)\fR"
114 Request that the Postfix SMTP server rejects mail from unknown
115 sender addresses, even when no explicit reject_unlisted_sender
116 access restriction is specified.
117 .IP "\fBsmtpd_sasl_exceptions_networks (empty)\fR"
118 What remote SMTP clients the Postfix SMTP server will not offer
121 Available in Postfix version 2.2 and later:
122 .IP "\fBsmtpd_discard_ehlo_keyword_address_maps (empty)\fR"
123 Lookup tables, indexed by the remote SMTP client address, with
124 case insensitive lists of EHLO keywords (pipelining, starttls, auth,
125 etc.) that the SMTP server will not send in the EHLO response to a
127 .IP "\fBsmtpd_discard_ehlo_keywords (empty)\fR"
128 A case insensitive list of EHLO keywords (pipelining, starttls,
129 auth, etc.) that the SMTP server will not send in the EHLO response
130 to a remote SMTP client.
131 .IP "\fBsmtpd_delay_open_until_valid_rcpt (yes)\fR"
132 Postpone the start of an SMTP mail transaction until a valid
133 RCPT TO command is received.
135 Available in Postfix version 2.3 and later:
136 .IP "\fBsmtpd_tls_always_issue_session_ids (yes)\fR"
137 Force the Postfix SMTP server to issue a TLS session id, even
138 when TLS session caching is turned off (smtpd_tls_session_cache_database
141 Available in Postfix version 2.6 and later:
142 .IP "\fBtcp_windowsize (0)\fR"
143 An optional workaround for routers that break TCP window scaling.
144 .SH "ADDRESS REWRITING CONTROLS"
149 See the ADDRESS_REWRITING_README document for a detailed
150 discussion of Postfix address rewriting.
151 .IP "\fBreceive_override_options (empty)\fR"
152 Enable or disable recipient validation, built-in content
153 filtering, or address mapping.
155 Available in Postfix version 2.2 and later:
156 .IP "\fBlocal_header_rewrite_clients (permit_inet_interfaces)\fR"
157 Rewrite message header addresses in mail from these clients and
158 update incomplete addresses with the domain name in $myorigin or
159 $mydomain; either don't rewrite message headers from other clients
160 at all, or rewrite message headers and update incomplete addresses
161 with the domain specified in the remote_header_rewrite_domain
163 .SH "AFTER QUEUE EXTERNAL CONTENT INSPECTION CONTROLS"
168 As of version 1.0, Postfix can be configured to send new mail to
169 an external content filter AFTER the mail is queued. This content
170 filter is expected to inject mail back into a (Postfix or other)
171 MTA for further delivery. See the FILTER_README document for details.
172 .IP "\fBcontent_filter (empty)\fR"
173 The name of a mail delivery transport that filters mail after
175 .SH "BEFORE QUEUE EXTERNAL CONTENT INSPECTION CONTROLS"
180 As of version 2.1, the Postfix SMTP server can be configured
181 to send incoming mail to a real-time SMTP-based content filter
182 BEFORE mail is queued. This content filter is expected to inject
183 mail back into Postfix. See the SMTPD_PROXY_README document for
184 details on how to configure and operate this feature.
185 .IP "\fBsmtpd_proxy_filter (empty)\fR"
186 The hostname and TCP port of the mail filtering proxy server.
187 .IP "\fBsmtpd_proxy_ehlo ($myhostname)\fR"
188 How the Postfix SMTP server announces itself to the proxy filter.
189 .IP "\fBsmtpd_proxy_timeout (100s)\fR"
190 The time limit for connecting to a proxy filter and for sending or
191 receiving information.
192 .SH "BEFORE QUEUE MILTER CONTROLS"
197 As of version 2.3, Postfix supports the Sendmail version 8
198 Milter (mail filter) protocol. These content filters run
199 outside Postfix. They can inspect the SMTP command stream
200 and the message content, and can request modifications before
201 mail is queued. For details see the MILTER_README document.
202 .IP "\fBsmtpd_milters (empty)\fR"
203 A list of Milter (mail filter) applications for new mail that
204 arrives via the Postfix \fBsmtpd\fR(8) server.
205 .IP "\fBmilter_protocol (6)\fR"
206 The mail filter protocol version and optional protocol extensions
207 for communication with a Milter application; prior to Postfix 2.6
208 the default protocol is 2.
209 .IP "\fBmilter_default_action (tempfail)\fR"
210 The default action when a Milter (mail filter) application is
211 unavailable or mis-configured.
212 .IP "\fBmilter_macro_daemon_name ($myhostname)\fR"
213 The {daemon_name} macro value for Milter (mail filter) applications.
214 .IP "\fBmilter_macro_v ($mail_name $mail_version)\fR"
215 The {v} macro value for Milter (mail filter) applications.
216 .IP "\fBmilter_connect_timeout (30s)\fR"
217 The time limit for connecting to a Milter (mail filter)
218 application, and for negotiating protocol options.
219 .IP "\fBmilter_command_timeout (30s)\fR"
220 The time limit for sending an SMTP command to a Milter (mail
221 filter) application, and for receiving the response.
222 .IP "\fBmilter_content_timeout (300s)\fR"
223 The time limit for sending message content to a Milter (mail
224 filter) application, and for receiving the response.
225 .IP "\fBmilter_connect_macros (see 'postconf -d' output)\fR"
226 The macros that are sent to Milter (mail filter) applications
227 after completion of an SMTP connection.
228 .IP "\fBmilter_helo_macros (see 'postconf -d' output)\fR"
229 The macros that are sent to Milter (mail filter) applications
230 after the SMTP HELO or EHLO command.
231 .IP "\fBmilter_mail_macros (see 'postconf -d' output)\fR"
232 The macros that are sent to Milter (mail filter) applications
233 after the SMTP MAIL FROM command.
234 .IP "\fBmilter_rcpt_macros (see 'postconf -d' output)\fR"
235 The macros that are sent to Milter (mail filter) applications
236 after the SMTP RCPT TO command.
237 .IP "\fBmilter_data_macros (see 'postconf -d' output)\fR"
238 The macros that are sent to version 4 or higher Milter (mail
239 filter) applications after the SMTP DATA command.
240 .IP "\fBmilter_unknown_command_macros (see 'postconf -d' output)\fR"
241 The macros that are sent to version 3 or higher Milter (mail
242 filter) applications after an unknown SMTP command.
243 .IP "\fBmilter_end_of_header_macros (see 'postconf -d' output)\fR"
244 The macros that are sent to Milter (mail filter) applications
245 after the end of the message header.
246 .IP "\fBmilter_end_of_data_macros (see 'postconf -d' output)\fR"
247 The macros that are sent to Milter (mail filter) applications
248 after the message end-of-data.
249 .SH "GENERAL CONTENT INSPECTION CONTROLS"
254 The following parameters are applicable for both built-in
255 and external content filters.
257 Available in Postfix version 2.1 and later:
258 .IP "\fBreceive_override_options (empty)\fR"
259 Enable or disable recipient validation, built-in content
260 filtering, or address mapping.
261 .SH "EXTERNAL CONTENT INSPECTION CONTROLS"
266 The following parameters are applicable for both before-queue
267 and after-queue content filtering.
269 Available in Postfix version 2.1 and later:
270 .IP "\fBsmtpd_authorized_xforward_hosts (empty)\fR"
271 What SMTP clients are allowed to use the XFORWARD feature.
272 .SH "SASL AUTHENTICATION CONTROLS"
277 Postfix SASL support (RFC 4954) can be used to authenticate remote
278 SMTP clients to the Postfix SMTP server, and to authenticate the
279 Postfix SMTP client to a remote SMTP server.
280 See the SASL_README document for details.
281 .IP "\fBbroken_sasl_auth_clients (no)\fR"
282 Enable inter-operability with SMTP clients that implement an obsolete
283 version of the AUTH command (RFC 4954).
284 .IP "\fBsmtpd_sasl_auth_enable (no)\fR"
285 Enable SASL authentication in the Postfix SMTP server.
286 .IP "\fBsmtpd_sasl_local_domain (empty)\fR"
287 The name of the Postfix SMTP server's local SASL authentication
289 .IP "\fBsmtpd_sasl_security_options (noanonymous)\fR"
290 Postfix SMTP server SASL security options; as of Postfix 2.3
291 the list of available
292 features depends on the SASL server implementation that is selected
293 with \fBsmtpd_sasl_type\fR.
294 .IP "\fBsmtpd_sender_login_maps (empty)\fR"
295 Optional lookup table with the SASL login names that own sender
296 (MAIL FROM) addresses.
298 Available in Postfix version 2.1 and later:
299 .IP "\fBsmtpd_sasl_exceptions_networks (empty)\fR"
300 What remote SMTP clients the Postfix SMTP server will not offer
303 Available in Postfix version 2.1 and 2.2:
304 .IP "\fBsmtpd_sasl_application_name (smtpd)\fR"
305 The application name that the Postfix SMTP server uses for SASL
306 server initialization.
308 Available in Postfix version 2.3 and later:
309 .IP "\fBsmtpd_sasl_authenticated_header (no)\fR"
310 Report the SASL authenticated user name in the \fBsmtpd\fR(8) Received
312 .IP "\fBsmtpd_sasl_path (smtpd)\fR"
313 Implementation-specific information that the Postfix SMTP server
315 the SASL plug-in implementation that is selected with
316 \fBsmtpd_sasl_type\fR.
317 .IP "\fBsmtpd_sasl_type (cyrus)\fR"
318 The SASL plug-in type that the Postfix SMTP server should use
321 Available in Postfix version 2.5 and later:
322 .IP "\fBcyrus_sasl_config_path (empty)\fR"
323 Search path for Cyrus SASL application configuration files,
324 currently used only to locate the $smtpd_sasl_path.conf file.
325 .SH "STARTTLS SUPPORT CONTROLS"
330 Detailed information about STARTTLS configuration may be
331 found in the TLS_README document.
332 .IP "\fBsmtpd_tls_security_level (empty)\fR"
333 The SMTP TLS security level for the Postfix SMTP server; when
334 a non-empty value is specified, this overrides the obsolete parameters
335 smtpd_use_tls and smtpd_enforce_tls.
336 .IP "\fBsmtpd_sasl_tls_security_options ($smtpd_sasl_security_options)\fR"
337 The SASL authentication security options that the Postfix SMTP
338 server uses for TLS encrypted SMTP sessions.
339 .IP "\fBsmtpd_starttls_timeout (300s)\fR"
340 The time limit for Postfix SMTP server write and read operations
341 during TLS startup and shutdown handshake procedures.
342 .IP "\fBsmtpd_tls_CAfile (empty)\fR"
343 A file containing (PEM format) CA certificates of root CAs trusted
344 to sign either remote SMTP client certificates or intermediate CA
346 .IP "\fBsmtpd_tls_CApath (empty)\fR"
347 A directory containing (PEM format) CA certificates of root CAs
348 trusted to sign either remote SMTP client certificates or intermediate CA
350 .IP "\fBsmtpd_tls_always_issue_session_ids (yes)\fR"
351 Force the Postfix SMTP server to issue a TLS session id, even
352 when TLS session caching is turned off (smtpd_tls_session_cache_database
354 .IP "\fBsmtpd_tls_ask_ccert (no)\fR"
355 Ask a remote SMTP client for a client certificate.
356 .IP "\fBsmtpd_tls_auth_only (no)\fR"
357 When TLS encryption is optional in the Postfix SMTP server, do
358 not announce or accept SASL authentication over unencrypted
360 .IP "\fBsmtpd_tls_ccert_verifydepth (9)\fR"
361 The verification depth for remote SMTP client certificates.
362 .IP "\fBsmtpd_tls_cert_file (empty)\fR"
363 File with the Postfix SMTP server RSA certificate in PEM format.
364 .IP "\fBsmtpd_tls_exclude_ciphers (empty)\fR"
365 List of ciphers or cipher types to exclude from the SMTP server
366 cipher list at all TLS security levels.
367 .IP "\fBsmtpd_tls_dcert_file (empty)\fR"
368 File with the Postfix SMTP server DSA certificate in PEM format.
369 .IP "\fBsmtpd_tls_dh1024_param_file (empty)\fR"
370 File with DH parameters that the Postfix SMTP server should
371 use with EDH ciphers.
372 .IP "\fBsmtpd_tls_dh512_param_file (empty)\fR"
373 File with DH parameters that the Postfix SMTP server should
374 use with EDH ciphers.
375 .IP "\fBsmtpd_tls_dkey_file ($smtpd_tls_dcert_file)\fR"
376 File with the Postfix SMTP server DSA private key in PEM format.
377 .IP "\fBsmtpd_tls_key_file ($smtpd_tls_cert_file)\fR"
378 File with the Postfix SMTP server RSA private key in PEM format.
379 .IP "\fBsmtpd_tls_loglevel (0)\fR"
380 Enable additional Postfix SMTP server logging of TLS activity.
381 .IP "\fBsmtpd_tls_mandatory_ciphers (medium)\fR"
382 The minimum TLS cipher grade that the Postfix SMTP server
383 will use with mandatory TLS encryption.
384 .IP "\fBsmtpd_tls_mandatory_exclude_ciphers (empty)\fR"
385 Additional list of ciphers or cipher types to exclude from the
386 SMTP server cipher list at mandatory TLS security levels.
387 .IP "\fBsmtpd_tls_mandatory_protocols (SSLv3, TLSv1)\fR"
388 The SSL/TLS protocols accepted by the Postfix SMTP server with
389 mandatory TLS encryption.
390 .IP "\fBsmtpd_tls_received_header (no)\fR"
391 Request that the Postfix SMTP server produces Received: message
392 headers that include information about the protocol and cipher used,
393 as well as the client CommonName and client certificate issuer
395 .IP "\fBsmtpd_tls_req_ccert (no)\fR"
396 With mandatory TLS encryption, require a trusted remote SMTP client
397 certificate in order to allow TLS connections to proceed.
398 .IP "\fBsmtpd_tls_session_cache_database (empty)\fR"
399 Name of the file containing the optional Postfix SMTP server
401 .IP "\fBsmtpd_tls_session_cache_timeout (3600s)\fR"
402 The expiration time of Postfix SMTP server TLS session cache
404 .IP "\fBsmtpd_tls_wrappermode (no)\fR"
405 Run the Postfix SMTP server in the non-standard "wrapper" mode,
406 instead of using the STARTTLS command.
407 .IP "\fBtls_daemon_random_bytes (32)\fR"
408 The number of pseudo-random bytes that an \fBsmtp\fR(8) or \fBsmtpd\fR(8)
409 process requests from the \fBtlsmgr\fR(8) server in order to seed its
410 internal pseudo random number generator (PRNG).
411 .IP "\fBtls_high_cipherlist (ALL:!EXPORT:!LOW:!MEDIUM:+RC4:@STRENGTH)\fR"
412 The OpenSSL cipherlist for "HIGH" grade ciphers.
413 .IP "\fBtls_medium_cipherlist (ALL:!EXPORT:!LOW:+RC4:@STRENGTH)\fR"
414 The OpenSSL cipherlist for "MEDIUM" or higher grade ciphers.
415 .IP "\fBtls_low_cipherlist (ALL:!EXPORT:+RC4:@STRENGTH)\fR"
416 The OpenSSL cipherlist for "LOW" or higher grade ciphers.
417 .IP "\fBtls_export_cipherlist (ALL:+RC4:@STRENGTH)\fR"
418 The OpenSSL cipherlist for "EXPORT" or higher grade ciphers.
419 .IP "\fBtls_null_cipherlist (eNULL:!aNULL)\fR"
420 The OpenSSL cipherlist for "NULL" grade ciphers that provide
421 authentication without encryption.
423 Available in Postfix version 2.5 and later:
424 .IP "\fBsmtpd_tls_fingerprint_digest (md5)\fR"
425 The message digest algorithm used to construct client-certificate
426 fingerprints for \fBcheck_ccert_access\fR and
427 \fBpermit_tls_clientcerts\fR.
429 Available in Postfix version 2.6 and later:
430 .IP "\fBsmtpd_tls_protocols (empty)\fR"
431 List of TLS protocols that the Postfix SMTP server will exclude
432 or include with opportunistic TLS encryption.
433 .IP "\fBsmtpd_tls_ciphers (export)\fR"
434 The minimum TLS cipher grade that the Postfix SMTP server
435 will use with opportunistic TLS encryption.
436 .IP "\fBsmtpd_tls_eccert_file (empty)\fR"
437 File with the Postfix SMTP server ECDSA certificate in PEM format.
438 .IP "\fBsmtpd_tls_eckey_file ($smtpd_tls_eccert_file)\fR"
439 File with the Postfix SMTP server ECDSA private key in PEM format.
440 .IP "\fBsmtpd_tls_eecdh_grade (see 'postconf -d' output)\fR"
441 The Postfix SMTP server security grade for ephemeral elliptic-curve
442 Diffie-Hellman (EECDH) key exchange.
443 .IP "\fBtls_eecdh_strong_curve (prime256v1)\fR"
444 The elliptic curve used by the SMTP server for sensibly strong
445 ephemeral ECDH key exchange.
446 .IP "\fBtls_eecdh_ultra_curve (secp384r1)\fR"
447 The elliptic curve used by the SMTP server for maximally strong
448 ephemeral ECDH key exchange.
449 .SH "OBSOLETE STARTTLS CONTROLS"
454 The following configuration parameters exist for compatibility
455 with Postfix versions before 2.3. Support for these will
456 be removed in a future release.
457 .IP "\fBsmtpd_use_tls (no)\fR"
458 Opportunistic TLS: announce STARTTLS support to SMTP clients,
459 but do not require that clients use TLS encryption.
460 .IP "\fBsmtpd_enforce_tls (no)\fR"
461 Mandatory TLS: announce STARTTLS support to SMTP clients,
462 and require that clients use TLS encryption.
463 .IP "\fBsmtpd_tls_cipherlist (empty)\fR"
464 Obsolete Postfix < 2.3 control for the Postfix SMTP server TLS
466 .SH "VERP SUPPORT CONTROLS"
471 With VERP style delivery, each recipient of a message receives a
472 customized copy of the message with his/her own recipient address
473 encoded in the envelope sender address. The VERP_README file
474 describes configuration and operation details of Postfix support
475 for variable envelope return path addresses. VERP style delivery
476 is requested with the SMTP XVERP command or with the "sendmail
477 -V" command-line option and is available in Postfix version 1.1
479 .IP "\fBdefault_verp_delimiters (+=)\fR"
480 The two default VERP delimiter characters.
481 .IP "\fBverp_delimiter_filter (-=+)\fR"
482 The characters Postfix accepts as VERP delimiter characters on the
483 Postfix \fBsendmail\fR(1) command line and in SMTP commands.
485 Available in Postfix version 1.1 and 2.0:
486 .IP "\fBauthorized_verp_clients ($mynetworks)\fR"
487 What SMTP clients are allowed to specify the XVERP command.
489 Available in Postfix version 2.1 and later:
490 .IP "\fBsmtpd_authorized_verp_clients ($authorized_verp_clients)\fR"
491 What SMTP clients are allowed to specify the XVERP command.
492 .SH "TROUBLE SHOOTING CONTROLS"
497 The DEBUG_README document describes how to debug parts of the
498 Postfix mail system. The methods vary from making the software log
499 a lot of detail, to running some daemon processes under control of
500 a call tracer or debugger.
501 .IP "\fBdebug_peer_level (2)\fR"
502 The increment in verbose logging level when a remote client or
503 server matches a pattern in the debug_peer_list parameter.
504 .IP "\fBdebug_peer_list (empty)\fR"
505 Optional list of remote client or server hostname or network
506 address patterns that cause the verbose logging level to increase
507 by the amount specified in $debug_peer_level.
508 .IP "\fBerror_notice_recipient (postmaster)\fR"
509 The recipient of postmaster notifications about mail delivery
510 problems that are caused by policy, resource, software or protocol
512 .IP "\fBinternal_mail_filter_classes (empty)\fR"
513 What categories of Postfix-generated mail are subject to
514 before-queue content inspection by non_smtpd_milters, header_checks
516 .IP "\fBnotify_classes (resource, software)\fR"
517 The list of error classes that are reported to the postmaster.
518 .IP "\fBsoft_bounce (no)\fR"
519 Safety net to keep mail queued that would otherwise be returned to
522 Available in Postfix version 2.1 and later:
523 .IP "\fBsmtpd_authorized_xclient_hosts (empty)\fR"
524 What SMTP clients are allowed to use the XCLIENT feature.
525 .SH "KNOWN VERSUS UNKNOWN RECIPIENT CONTROLS"
530 As of Postfix version 2.0, the SMTP server rejects mail for
531 unknown recipients. This prevents the mail queue from clogging up
532 with undeliverable MAILER-DAEMON messages. Additional information
533 on this topic is in the LOCAL_RECIPIENT_README and ADDRESS_CLASS_README
535 .IP "\fBshow_user_unknown_table_name (yes)\fR"
536 Display the name of the recipient table in the "User unknown"
538 .IP "\fBcanonical_maps (empty)\fR"
539 Optional address mapping lookup tables for message headers and
541 .IP "\fBrecipient_canonical_maps (empty)\fR"
542 Optional address mapping lookup tables for envelope and header
545 Parameters concerning known/unknown local recipients:
546 .IP "\fBmydestination ($myhostname, localhost.$mydomain, localhost)\fR"
547 The list of domains that are delivered via the $local_transport
548 mail delivery transport.
549 .IP "\fBinet_interfaces (all)\fR"
550 The network interface addresses that this mail system receives
552 .IP "\fBproxy_interfaces (empty)\fR"
553 The network interface addresses that this mail system receives mail
554 on by way of a proxy or network address translation unit.
555 .IP "\fBinet_protocols (ipv4)\fR"
556 The Internet protocols Postfix will attempt to use when making
557 or accepting connections.
558 .IP "\fBlocal_recipient_maps (proxy:unix:passwd.byname $alias_maps)\fR"
559 Lookup tables with all names or addresses of local recipients:
560 a recipient address is local when its domain matches $mydestination,
561 $inet_interfaces or $proxy_interfaces.
562 .IP "\fBunknown_local_recipient_reject_code (550)\fR"
563 The numerical Postfix SMTP server response code when a recipient
564 address is local, and $local_recipient_maps specifies a list of
565 lookup tables that does not match the recipient.
567 Parameters concerning known/unknown recipients of relay destinations:
568 .IP "\fBrelay_domains ($mydestination)\fR"
569 What destination domains (and subdomains thereof) this system
571 .IP "\fBrelay_recipient_maps (empty)\fR"
572 Optional lookup tables with all valid addresses in the domains
573 that match $relay_domains.
574 .IP "\fBunknown_relay_recipient_reject_code (550)\fR"
575 The numerical Postfix SMTP server reply code when a recipient
576 address matches $relay_domains, and relay_recipient_maps specifies
577 a list of lookup tables that does not match the recipient address.
579 Parameters concerning known/unknown recipients in virtual alias
581 .IP "\fBvirtual_alias_domains ($virtual_alias_maps)\fR"
582 Postfix is final destination for the specified list of virtual
583 alias domains, that is, domains for which all addresses are aliased
584 to addresses in other local or remote domains.
585 .IP "\fBvirtual_alias_maps ($virtual_maps)\fR"
586 Optional lookup tables that alias specific mail addresses or domains
587 to other local or remote address.
588 .IP "\fBunknown_virtual_alias_reject_code (550)\fR"
589 The SMTP server reply code when a recipient address matches
590 $virtual_alias_domains, and $virtual_alias_maps specifies a list
591 of lookup tables that does not match the recipient address.
593 Parameters concerning known/unknown recipients in virtual mailbox
595 .IP "\fBvirtual_mailbox_domains ($virtual_mailbox_maps)\fR"
596 Postfix is final destination for the specified list of domains;
597 mail is delivered via the $virtual_transport mail delivery transport.
598 .IP "\fBvirtual_mailbox_maps (empty)\fR"
599 Optional lookup tables with all valid addresses in the domains that
600 match $virtual_mailbox_domains.
601 .IP "\fBunknown_virtual_mailbox_reject_code (550)\fR"
602 The SMTP server reply code when a recipient address matches
603 $virtual_mailbox_domains, and $virtual_mailbox_maps specifies a list
604 of lookup tables that does not match the recipient address.
605 .SH "RESOURCE AND RATE CONTROLS"
610 The following parameters limit resource usage by the SMTP
611 server and/or control client request rates.
612 .IP "\fBline_length_limit (2048)\fR"
613 Upon input, long lines are chopped up into pieces of at most
614 this length; upon delivery, long lines are reconstructed.
615 .IP "\fBqueue_minfree (0)\fR"
616 The minimal amount of free space in bytes in the queue file system
617 that is needed to receive mail.
618 .IP "\fBmessage_size_limit (10240000)\fR"
619 The maximal size in bytes of a message, including envelope information.
620 .IP "\fBsmtpd_recipient_limit (1000)\fR"
621 The maximal number of recipients that the Postfix SMTP server
622 accepts per message delivery request.
623 .IP "\fBsmtpd_timeout (normal: 300s, stress: 10s)\fR"
624 The time limit for sending a Postfix SMTP server response and for
625 receiving a remote SMTP client request.
626 .IP "\fBsmtpd_history_flush_threshold (100)\fR"
627 The maximal number of lines in the Postfix SMTP server command history
628 before it is flushed upon receipt of EHLO, RSET, or end of DATA.
630 Available in Postfix version 2.3 and later:
631 .IP "\fBsmtpd_peername_lookup (yes)\fR"
632 Attempt to look up the remote SMTP client hostname, and verify that
633 the name matches the client IP address.
635 The per SMTP client connection count and request rate limits are
636 implemented in co-operation with the \fBanvil\fR(8) service, and
637 are available in Postfix version 2.2 and later.
638 .IP "\fBsmtpd_client_connection_count_limit (50)\fR"
639 How many simultaneous connections any client is allowed to
640 make to this service.
641 .IP "\fBsmtpd_client_connection_rate_limit (0)\fR"
642 The maximal number of connection attempts any client is allowed to
643 make to this service per time unit.
644 .IP "\fBsmtpd_client_message_rate_limit (0)\fR"
645 The maximal number of message delivery requests that any client is
646 allowed to make to this service per time unit, regardless of whether
647 or not Postfix actually accepts those messages.
648 .IP "\fBsmtpd_client_recipient_rate_limit (0)\fR"
649 The maximal number of recipient addresses that any client is allowed
650 to send to this service per time unit, regardless of whether or not
651 Postfix actually accepts those recipients.
652 .IP "\fBsmtpd_client_event_limit_exceptions ($mynetworks)\fR"
653 Clients that are excluded from connection count, connection rate,
654 or SMTP request rate restrictions.
656 Available in Postfix version 2.3 and later:
657 .IP "\fBsmtpd_client_new_tls_session_rate_limit (0)\fR"
658 The maximal number of new (i.e., uncached) TLS sessions that a
659 remote SMTP client is allowed to negotiate with this service per
661 .SH "TARPIT CONTROLS"
666 When a remote SMTP client makes errors, the Postfix SMTP server
667 can insert delays before responding. This can help to slow down
668 run-away software. The behavior is controlled by an error counter
669 that counts the number of errors within an SMTP session that a
670 client makes without delivering mail.
671 .IP "\fBsmtpd_error_sleep_time (1s)\fR"
672 With Postfix version 2.1 and later: the SMTP server response delay after
673 a client has made more than $smtpd_soft_error_limit errors, and
674 fewer than $smtpd_hard_error_limit errors, without delivering mail.
675 .IP "\fBsmtpd_soft_error_limit (10)\fR"
676 The number of errors a remote SMTP client is allowed to make without
677 delivering mail before the Postfix SMTP server slows down all its
679 .IP "\fBsmtpd_hard_error_limit (normal: 20, stress: 1)\fR"
680 The maximal number of errors a remote SMTP client is allowed to
681 make without delivering mail.
682 .IP "\fBsmtpd_junk_command_limit (normal: 100, stress: 1)\fR"
683 The number of junk commands (NOOP, VRFY, ETRN or RSET) that a remote
684 SMTP client can send before the Postfix SMTP server starts to
685 increment the error counter with each junk command.
687 Available in Postfix version 2.1 and later:
688 .IP "\fBsmtpd_recipient_overshoot_limit (1000)\fR"
689 The number of recipients that a remote SMTP client can send in
690 excess of the limit specified with $smtpd_recipient_limit, before
691 the Postfix SMTP server increments the per-session error count
692 for each excess recipient.
693 .SH "ACCESS POLICY DELEGATION CONTROLS"
698 As of version 2.1, Postfix can be configured to delegate access
699 policy decisions to an external server that runs outside Postfix.
700 See the file SMTPD_POLICY_README for more information.
701 .IP "\fBsmtpd_policy_service_max_idle (300s)\fR"
702 The time after which an idle SMTPD policy service connection is
704 .IP "\fBsmtpd_policy_service_max_ttl (1000s)\fR"
705 The time after which an active SMTPD policy service connection is
707 .IP "\fBsmtpd_policy_service_timeout (100s)\fR"
708 The time limit for connecting to, writing to or receiving from a
709 delegated SMTPD policy server.
710 .SH "ACCESS CONTROLS"
715 The SMTPD_ACCESS_README document gives an introduction to all the
716 SMTP server access control features.
717 .IP "\fBsmtpd_delay_reject (yes)\fR"
718 Wait until the RCPT TO command before evaluating
719 $smtpd_client_restrictions, $smtpd_helo_restrictions and
720 $smtpd_sender_restrictions, or wait until the ETRN command before
721 evaluating $smtpd_client_restrictions and $smtpd_helo_restrictions.
722 .IP "\fBparent_domain_matches_subdomains (see 'postconf -d' output)\fR"
723 What Postfix features match subdomains of "domain.tld" automatically,
724 instead of requiring an explicit ".domain.tld" pattern.
725 .IP "\fBsmtpd_client_restrictions (empty)\fR"
726 Optional SMTP server access restrictions in the context of a client
727 SMTP connection request.
728 .IP "\fBsmtpd_helo_required (no)\fR"
729 Require that a remote SMTP client introduces itself at the beginning
730 of an SMTP session with the HELO or EHLO command.
731 .IP "\fBsmtpd_helo_restrictions (empty)\fR"
732 Optional restrictions that the Postfix SMTP server applies in the
733 context of the SMTP HELO command.
734 .IP "\fBsmtpd_sender_restrictions (empty)\fR"
735 Optional restrictions that the Postfix SMTP server applies in the
736 context of the MAIL FROM command.
737 .IP "\fBsmtpd_recipient_restrictions (permit_mynetworks, reject_unauth_destination)\fR"
738 The access restrictions that the Postfix SMTP server applies in
739 the context of the RCPT TO command.
740 .IP "\fBsmtpd_etrn_restrictions (empty)\fR"
741 Optional SMTP server access restrictions in the context of a client
743 .IP "\fBallow_untrusted_routing (no)\fR"
744 Forward mail with sender-specified routing (user[@%!]remote[@%!]site)
745 from untrusted clients to destinations matching $relay_domains.
746 .IP "\fBsmtpd_restriction_classes (empty)\fR"
747 User-defined aliases for groups of access restrictions.
748 .IP "\fBsmtpd_null_access_lookup_key (<>)\fR"
749 The lookup key to be used in SMTP \fBaccess\fR(5) tables instead of the
751 .IP "\fBpermit_mx_backup_networks (empty)\fR"
752 Restrict the use of the permit_mx_backup SMTP access feature to
753 only domains whose primary MX hosts match the listed networks.
755 Available in Postfix version 2.0 and later:
756 .IP "\fBsmtpd_data_restrictions (empty)\fR"
757 Optional access restrictions that the Postfix SMTP server applies
758 in the context of the SMTP DATA command.
759 .IP "\fBsmtpd_expansion_filter (see 'postconf -d' output)\fR"
760 What characters are allowed in $name expansions of RBL reply
763 Available in Postfix version 2.1 and later:
764 .IP "\fBsmtpd_reject_unlisted_sender (no)\fR"
765 Request that the Postfix SMTP server rejects mail from unknown
766 sender addresses, even when no explicit reject_unlisted_sender
767 access restriction is specified.
768 .IP "\fBsmtpd_reject_unlisted_recipient (yes)\fR"
769 Request that the Postfix SMTP server rejects mail for unknown
770 recipient addresses, even when no explicit reject_unlisted_recipient
771 access restriction is specified.
773 Available in Postfix version 2.2 and later:
774 .IP "\fBsmtpd_end_of_data_restrictions (empty)\fR"
775 Optional access restrictions that the Postfix SMTP server
776 applies in the context of the SMTP END-OF-DATA command.
777 .SH "SENDER AND RECIPIENT ADDRESS VERIFICATION CONTROLS"
782 Postfix version 2.1 introduces sender and recipient address verification.
783 This feature is implemented by sending probe email messages that
784 are not actually delivered.
785 This feature is requested via the reject_unverified_sender and
786 reject_unverified_recipient access restrictions. The status of
787 verification probes is maintained by the \fBverify\fR(8) server.
788 See the file ADDRESS_VERIFICATION_README for information
789 about how to configure and operate the Postfix sender/recipient
790 address verification service.
791 .IP "\fBaddress_verify_poll_count (3)\fR"
792 How many times to query the \fBverify\fR(8) service for the completion
793 of an address verification request in progress.
794 .IP "\fBaddress_verify_poll_delay (3s)\fR"
795 The delay between queries for the completion of an address
796 verification request in progress.
797 .IP "\fBaddress_verify_sender ($double_bounce_sender)\fR"
798 The sender address to use in address verification probes; prior
799 to Postfix 2.5 the default was "postmaster".
800 .IP "\fBunverified_sender_reject_code (450)\fR"
801 The numerical Postfix SMTP server response code when a recipient
802 address is rejected by the reject_unverified_sender restriction.
803 .IP "\fBunverified_recipient_reject_code (450)\fR"
804 The numerical Postfix SMTP server response when a recipient address
805 is rejected by the reject_unverified_recipient restriction.
807 Available in Postfix version 2.6 and later:
808 .IP "\fBunverified_sender_defer_code (450)\fR"
809 The numerical Postfix SMTP server response code when a sender address
810 probe fails due to a temporary error condition.
811 .IP "\fBunverified_recipient_defer_code (450)\fR"
812 The numerical Postfix SMTP server response when a recipient address
813 probe fails due to a temporary error condition.
814 .IP "\fBunverified_sender_reject_reason (empty)\fR"
815 The Postfix SMTP server's reply when rejecting mail with
816 reject_unverified_sender.
817 .IP "\fBunverified_recipient_reject_reason (empty)\fR"
818 The Postfix SMTP server's reply when rejecting mail with
819 reject_unverified_recipient.
820 .IP "\fBunverified_sender_tempfail_action ($reject_tempfail_action)\fR"
821 The Postfix SMTP server's action when reject_unverified_sender
822 fails due to a temporary error condition.
823 .IP "\fBunverified_recipient_tempfail_action ($reject_tempfail_action)\fR"
824 The Postfix SMTP server's action when reject_unverified_recipient
825 fails due to a temporary error condition.
826 .SH "ACCESS CONTROL RESPONSES"
831 The following parameters control numerical SMTP reply codes
832 and/or text responses.
833 .IP "\fBaccess_map_reject_code (554)\fR"
834 The numerical Postfix SMTP server response code for
835 an \fBaccess\fR(5) map "reject" action.
836 .IP "\fBdefer_code (450)\fR"
837 The numerical Postfix SMTP server response code when a remote SMTP
838 client request is rejected by the "defer" restriction.
839 .IP "\fBinvalid_hostname_reject_code (501)\fR"
840 The numerical Postfix SMTP server response code when the client
841 HELO or EHLO command parameter is rejected by the reject_invalid_helo_hostname
843 .IP "\fBmaps_rbl_reject_code (554)\fR"
844 The numerical Postfix SMTP server response code when a remote SMTP
845 client request is blocked by the reject_rbl_client, reject_rhsbl_client,
846 reject_rhsbl_sender or reject_rhsbl_recipient restriction.
847 .IP "\fBnon_fqdn_reject_code (504)\fR"
848 The numerical Postfix SMTP server reply code when a client request
849 is rejected by the reject_non_fqdn_helo_hostname, reject_non_fqdn_sender
850 or reject_non_fqdn_recipient restriction.
851 .IP "\fBplaintext_reject_code (450)\fR"
852 The numerical Postfix SMTP server response code when a request
853 is rejected by the \fBreject_plaintext_session\fR restriction.
854 .IP "\fBreject_code (554)\fR"
855 The numerical Postfix SMTP server response code when a remote SMTP
856 client request is rejected by the "reject" restriction.
857 .IP "\fBrelay_domains_reject_code (554)\fR"
858 The numerical Postfix SMTP server response code when a client
859 request is rejected by the reject_unauth_destination recipient
861 .IP "\fBunknown_address_reject_code (450)\fR"
862 The numerical Postfix SMTP server response code when a sender or
863 recipient address is rejected by the reject_unknown_sender_domain
864 or reject_unknown_recipient_domain restriction.
865 .IP "\fBunknown_client_reject_code (450)\fR"
866 The numerical Postfix SMTP server response code when a client
867 without valid address <=> name mapping is rejected by the
868 reject_unknown_client_hostname restriction.
869 .IP "\fBunknown_hostname_reject_code (450)\fR"
870 The numerical Postfix SMTP server response code when the hostname
871 specified with the HELO or EHLO command is rejected by the
872 reject_unknown_helo_hostname restriction.
874 Available in Postfix version 2.0 and later:
875 .IP "\fBdefault_rbl_reply (see 'postconf -d' output)\fR"
876 The default SMTP server response template for a request that is
877 rejected by an RBL-based restriction.
878 .IP "\fBmulti_recipient_bounce_reject_code (550)\fR"
879 The numerical Postfix SMTP server response code when a remote SMTP
880 client request is blocked by the reject_multi_recipient_bounce
882 .IP "\fBrbl_reply_maps (empty)\fR"
883 Optional lookup tables with RBL response templates.
885 Available in Postfix version 2.6 and later:
886 .IP "\fBaccess_map_defer_code (450)\fR"
887 The numerical Postfix SMTP server response code for
888 an \fBaccess\fR(5) map "defer" action, including "defer_if_permit"
889 or "defer_if_reject".
890 .IP "\fBreject_tempfail_action (defer_if_permit)\fR"
891 The Postfix SMTP server's action when a reject-type restriction
892 fails due to a temporary error condition.
893 .IP "\fBunknown_helo_hostname_tempfail_action ($reject_tempfail_action)\fR"
894 The Postfix SMTP server's action when reject_unknown_helo_hostname
895 fails due to an temporary error condition.
896 .IP "\fBunknown_address_tempfail_action ($reject_tempfail_action)\fR"
897 The Postfix SMTP server's action when reject_unknown_sender_domain
898 or reject_unknown_recipient_domain fail due to a temporary error
900 .SH "MISCELLANEOUS CONTROLS"
905 .IP "\fBconfig_directory (see 'postconf -d' output)\fR"
906 The default location of the Postfix main.cf and master.cf
908 .IP "\fBdaemon_timeout (18000s)\fR"
909 How much time a Postfix daemon process may take to handle a
910 request before it is terminated by a built-in watchdog timer.
911 .IP "\fBcommand_directory (see 'postconf -d' output)\fR"
912 The location of all postfix administrative commands.
913 .IP "\fBdouble_bounce_sender (double-bounce)\fR"
914 The sender address of postmaster notifications that are generated
916 .IP "\fBipc_timeout (3600s)\fR"
917 The time limit for sending or receiving information over an internal
918 communication channel.
919 .IP "\fBmail_name (Postfix)\fR"
920 The mail system name that is displayed in Received: headers, in
921 the SMTP greeting banner, and in bounced mail.
922 .IP "\fBmail_owner (postfix)\fR"
923 The UNIX system account that owns the Postfix queue and most Postfix
925 .IP "\fBmax_idle (100s)\fR"
926 The maximum amount of time that an idle Postfix daemon process waits
927 for an incoming connection before terminating voluntarily.
928 .IP "\fBmax_use (100)\fR"
929 The maximal number of incoming connections that a Postfix daemon
930 process will service before terminating voluntarily.
931 .IP "\fBmyhostname (see 'postconf -d' output)\fR"
932 The internet hostname of this mail system.
933 .IP "\fBmynetworks (see 'postconf -d' output)\fR"
934 The list of "trusted" SMTP clients that have more privileges than
936 .IP "\fBmyorigin ($myhostname)\fR"
937 The domain name that locally-posted mail appears to come
938 from, and that locally posted mail is delivered to.
939 .IP "\fBprocess_id (read-only)\fR"
940 The process ID of a Postfix command or daemon process.
941 .IP "\fBprocess_name (read-only)\fR"
942 The process name of a Postfix command or daemon process.
943 .IP "\fBqueue_directory (see 'postconf -d' output)\fR"
944 The location of the Postfix top-level queue directory.
945 .IP "\fBrecipient_delimiter (empty)\fR"
946 The separator between user names and address extensions (user+foo).
947 .IP "\fBsmtpd_banner ($myhostname ESMTP $mail_name)\fR"
948 The text that follows the 220 status code in the SMTP greeting
950 .IP "\fBsyslog_facility (mail)\fR"
951 The syslog facility of Postfix logging.
952 .IP "\fBsyslog_name (see 'postconf -d' output)\fR"
953 The mail system name that is prepended to the process name in syslog
954 records, so that "smtpd" becomes, for example, "postfix/smtpd".
956 Available in Postfix version 2.2 and later:
957 .IP "\fBsmtpd_forbidden_commands (CONNECT, GET, POST)\fR"
958 List of commands that causes the Postfix SMTP server to immediately
959 terminate the session with a 221 code.
961 Available in Postfix version 2.5 and later:
962 .IP "\fBsmtpd_client_port_logging (no)\fR"
963 Enable logging of the remote SMTP client port in addition to
964 the hostname and IP address.
968 anvil(8), connection/rate limiting
969 cleanup(8), message canonicalization
970 tlsmgr(8), TLS session and PRNG management
971 trivial-rewrite(8), address resolver
972 verify(8), address verification service
973 postconf(5), configuration parameters
974 master(5), generic daemon options
975 master(8), process manager
976 syslogd(8), system logging
982 Use "\fBpostconf readme_directory\fR" or
983 "\fBpostconf html_directory\fR" to locate this information.
986 ADDRESS_CLASS_README, blocking unknown hosted or relay recipients
987 ADDRESS_REWRITING_README Postfix address manipulation
988 FILTER_README, external after-queue content filter
989 LOCAL_RECIPIENT_README, blocking unknown local recipients
990 MILTER_README, before-queue mail filter applications
991 SMTPD_ACCESS_README, built-in access policies
992 SMTPD_POLICY_README, external policy server
993 SMTPD_PROXY_README, external before-queue content filter
994 SASL_README, Postfix SASL howto
995 TLS_README, Postfix STARTTLS howto
996 VERP_README, Postfix XVERP extension
997 XCLIENT_README, Postfix XCLIENT extension
998 XFORWARD_README, Postfix XFORWARD extension
1004 The Secure Mailer license must be distributed with this software.
1009 IBM T.J. Watson Research
1011 Yorktown Heights, NY 10598, USA
1013 SASL support originally by:
1016 65760 Eschborn, Germany
1018 TLS support originally by:
1021 Allgemeine Elektrotechnik
1022 Universitaetsplatz 3-4
1023 D-03044 Cottbus, Germany
1025 Revised TLS support by: