SMTPD(8) SMTPD(8) [1mNAME[0m smtpd - Postfix SMTP server [1mSYNOPSIS[0m [1msmtpd [22m[generic Postfix daemon options] [1mDESCRIPTION[0m The SMTP server accepts network connection requests and performs zero or more SMTP transactions per connection. Each received message is piped through the [1mcleanup[22m(8) daemon, and is placed into the [1mincoming[0m queue as one single queue file. For this mode of operation, the pro- gram expects to be run from the [1mmaster[22m(8) process manager. Alternatively, the SMTP server takes an established connection on stan- dard input and deposits messages directly into the [1mmaildrop [22mqueue. In this so-called stand-alone mode, the SMTP server can accept mail even while the mail system is not running. The SMTP server implements a variety of policies for connection requests, and for parameters given to [1mHELO, ETRN, MAIL FROM, VRFY [22mand [1mRCPT TO [22mcommands. They are detailed below and in the [1mmain.cf [22mconfigura- tion file. [1mSECURITY[0m The SMTP server is moderately security-sensitive. It talks to SMTP clients and to DNS servers on the network. The SMTP server can be run chrooted at fixed low privilege. [1mSTANDARDS[0m RFC 821 (SMTP protocol) RFC 1123 (Host requirements) RFC 1652 (8bit-MIME transport) RFC 1869 (SMTP service extensions) RFC 1870 (Message Size Declaration) RFC 1985 (ETRN command) RFC 2554 (AUTH command) RFC 2821 (SMTP protocol) RFC 2920 (SMTP Pipelining) [1mDIAGNOSTICS[0m Problems and transactions are logged to [1msyslogd[22m(8). Depending on the setting of the [1mnotify_classes [22mparameter, the postmas- ter is notified of bounces, protocol problems, policy violations, and of other trouble. [1mCONFIGURATION PARAMETERS[0m The following [1mmain.cf [22mparameters are especially relevant to this pro- gram. See the Postfix [1mmain.cf [22mfile for syntax details and for default values. Use the [1mpostfix reload [22mcommand after a configuration change. [1mCompatibility controls[0m [1mstrict_rfc821_envelopes[0m Disallow non-RFC 821 style addresses in SMTP commands. For exam- ple, the RFC822-style address forms with comments that Sendmail allows. [1mbroken_sasl_auth_clients[0m Support Microsoft clients that implement an older version of the AUTH protocol, and that expect an EHLO response of "250 AUTH=list" instead of "250 AUTH list". [1msmtpd_sasl_exceptions_networks[0m Don't offer AUTH in the response to EHLO when talking to clients in the specified networks. This is a workaround for clients that that demand a login and password from the user whenever AUTH is offered by an SMTP server. [1msmtpd_noop_commands[0m List of commands that are treated as NOOP (no operation) com- mands, without any parameter syntax checking and without any state change. This list overrides built-in command definitions. [1mContent inspection after mail is queued[0m Postfix can be configured to send new mail to an external content fil- ter AFTER the mail is queued. [1mcontent_filter[0m The name of a mail delivery transport that filters mail and that either bounces mail or re-injects the result back into Postfix. This parameter uses the same syntax as the right-hand side of a Postfix transport table. [1mreceive_override_options[0m The following options override [1mmain.cf [22msettings. The options are either implemented by the SMTP server or are passed on to the downstream cleanup server. [1mno_unknown_recipient_checks[0m Do not try to reject unknown recipients. This is typi- cally specified with the SMTP server [1mafter [22man external content filter. [1mno_address_mappings[0m Disable canonical address mapping, virtual alias map expansion, address masquerading, and automatic BCC recip- ients. This is typically specified with the SMTP server [1mbefore [22man external content filter. [1mno_header_body_checks[0m Disable header/body_checks. This is typically specified with the SMTP server [1mafter [22man external content filter. [1mContent inspection before mail is queued[0m The Postfix SMTP server can be configured to forward all mail to a real-time SMTP-based content filter BEFORE mail is queued. [1msmtpd_proxy_filter[0m The [4mhost:port[24m of the real-time SMTP-based content filter. The [4mhost[24m or [4mhost:[24m portion is optional. [1msmtpd_proxy_timeout[0m Timeout for connecting to, sending to and receiving from the real-time SMTP-based content filter. [1msmtpd_proxy_ehlo[0m The hostname to use when sending an EHLO command to the real- time SMTP-based content filter. [1mAuthentication controls[0m [1msmtpd_sasl_auth_enable[0m Enable per-session authentication as per RFC 2554 (SASL). This functionality is available only when explicitly selected at pro- gram build time and explicitly enabled at runtime. [1msmtpd_sasl_application_name[0m The application name used for SASL server initialization. This controls the name of the SASL configuration file. The default value is [4msmtpd[24m, corresponding to a SASL configuration file named [4msmtpd.conf[24m. [1msmtpd_sasl_path[0m The path where SASL will look for plugins. This is a colon sepa- rated list of directories where the SASL plugins shared objects are located. The first component of the path will also be the location of the SASL configuration file. The default value is the null string, which will use the path defined in the SASL library. [1msmtpd_sasl_local_domain[0m The name of the local authentication realm. [1msmtpd_sasl_security_options[0m Zero or more of the following. [1mnoplaintext[0m Disallow authentication methods that use plaintext pass- words. [1mnoactive[0m Disallow authentication methods that are vulnerable to non-dictionary active attacks. [1mnodictionary[0m Disallow authentication methods that are vulnerable to passive dictionary attack. [1mnoanonymous[0m Disallow anonymous logins. [1msmtpd_sender_login_maps[0m Maps that specify the SASL login names that own a MAIL FROM sender address. Used by the [1mreject_sender_login_mismatch [22msender anti-spoofing restriction, as well as by its component restric- tions [1mreject_authenticated_sender_login_mismatch [22m(an authenti- cated client can't use a MAIL FROM sender address that is owned by someone else) and [1mreject_unauthenticated_sender_login_mis-[0m [1mmatch [22m(a client must be authenticated in order to use the MAIL FROM sender address). [1mMiscellaneous[0m [1msmtpd_authorized_verp_clients[0m Hostnames, domain names and/or addresses of clients that are authorized to use the XVERP extension. [1msmtpd_authorized_xclient_hosts[0m Hostnames, domain names and/or addresses of clients that are authorized to use the XCLIENT command. This command overrides client information for access control and logging purposes, with the exception of the [1msmtpd_authorized_xclient_hosts [22maccess con- trol itself. [1msmtpd_authorized_xforward_hosts[0m Hostnames, domain names and/or addresses of clients that are authorized to use the XFORWARD command. This command accepts client and message identofying information for logging purposes. [1mdebug_peer_level[0m Increment in verbose logging level when a remote host matches a pattern in the [1mdebug_peer_list [22mparameter. [1mdebug_peer_list[0m List of domain or network patterns. When a remote host matches a pattern, increase the verbose logging level by the amount speci- fied in the [1mdebug_peer_level [22mparameter. [1mdefault_verp_delimiters[0m The default VERP delimiter characters that are used when the XVERP command is specified without explicit delimiters. [1merror_notice_recipient[0m Recipient of protocol/policy/resource/software error notices. [1mhopcount_limit[0m Limit the number of [1mReceived: [22mmessage headers. [1mnotify_classes[0m List of error classes. Of special interest are: [1mpolicy [22mWhen a client violates any policy, mail a transcript of the entire SMTP session to the postmaster. [1mprotocol[0m When a client violates the SMTP protocol or issues an unimplemented command, mail a transcript of the entire SMTP session to the postmaster. [1msmtpd_banner[0m Text that follows the [1m220 [22mstatus code in the SMTP greeting ban- ner. [1msmtpd_expansion_filter[0m Controls what characters are allowed in $name expansion of rbl template responses and other text. [1msmtpd_recipient_limit[0m Restrict the number of recipients that the SMTP server accepts per message delivery. [1msmtpd_timeout[0m Limit the time to send a server response and to receive a client request. [1msoft_bounce[0m Change hard (5xx) reject responses into soft (4xx) reject responses. This can be useful for testing purposes. [1mverp_delimiter_filter[0m The characters that Postfix accepts as VERP delimiter charac- ters. [1mKnown versus unknown recipients[0m [1mshow_user_unknown_table_name[0m Whether or not to reveal the table name in the "User unknown" responses. The extra detail makes trouble shooting easier but also reveals information that is nobody elses business. [1munknown_local_recipient_reject_code[0m The response code when a client specifies a recipient whose domain matches [1m$mydestination[22m, [1m$inet_interfaces [22mor [1m$proxy_inter-[0m [1mfaces[22m, while [1m$local_recipient_maps [22mis non-empty and does not list the recipient address or address local-part. [1munknown_relay_recipient_reject_code[0m The response code when a client specifies a recipient whose domain matches [1m$relay_domains[22m, while [1m$relay_recipient_maps [22mis non-empty and does not list the recipient address. [1munknown_virtual_alias_reject_code[0m The response code when a client specifies a recipient whose domain matches [1m$virtual_alias_domains[22m, while the recipient is not listed in [1m$virtual_alias_maps[22m. [1munknown_virtual_mailbox_reject_code[0m The response code when a client specifies a recipient whose domain matches [1m$virtual_mailbox_domains[22m, while the recipient is not listed in [1m$virtual_mailbox_maps[22m. [1mResource controls[0m [1mline_length_limit[0m Limit the amount of memory in bytes used for the handling of partial input lines. [1mmessage_size_limit[0m Limit the total size in bytes of a message, including on-disk storage for envelope information. [1mqueue_minfree[0m Minimal amount of free space in bytes in the queue file system for the SMTP server to accept any mail at all (default: twice the [1mmessage_size_limit [22mvalue). [1msmtpd_history_flush_threshold[0m Flush the command history to postmaster after receipt of RSET etc. only if the number of history lines exceeds the given threshold. [1msmtpd_client_connection_count_limit[0m The maximal number of simultaneous connections that any client is allowed to make to this service. When a client exceeds the limit, the SMTP server logs a warning with the client name/address and the service name as configured in master.cf. [1msmtpd_client_connection_rate_limit[0m The maximal number of connections per unit time (specified with [1mclient_rate_time_unit[22m) that any client is allowed to make to this service. When a client exceeds the limit, the SMTP server logs a warning with the client name/address and the service name as configured in master.cf. [1msmtpd_client_connection_limit_exceptions[0m Hostnames, .domain names and/or network address blocks of clients that are excluded from connection count or rate limits. [1mTarpitting[0m [1msmtpd_error_sleep_time[0m Time to wait in seconds before sending a 4xx or 5xx server error response. [1msmtpd_soft_error_limit[0m When an SMTP client has made this number of errors, wait [4merror_count[24m seconds before responding to any client request. [1msmtpd_hard_error_limit[0m Disconnect after a client has made this number of errors. [1msmtpd_junk_command_limit[0m Limit the number of times a client can issue a junk command such as NOOP, VRFY, ETRN or RSET in one SMTP session before it is penalized with tarpit delays. [1mDelegated policy[0m [1msmtpd_policy_service_timeout[0m Time limit for connecting to, writing to and receiving from a delegated SMTPD policy server. [1msmtpd_policy_service_max_idle[0m Time after which an unused SMTPD policy service connection is closed. [1msmtpd_policy_service_timeout[0m Time after which an active SMTPD policy service connection is closed. [1mUCE control restrictions[0m [1mparent_domain_matches_subdomains[0m List of Postfix features that use [4mdomain.tld[24m patterns to match [4msub.domain.tld[24m (as opposed to requiring [4m.domain.tld[24m patterns). [1msmtpd_client_restrictions[0m Restrict what clients may connect to this mail system. [1msmtpd_helo_required[0m Require that clients introduce themselves at the beginning of an SMTP session. [1msmtpd_helo_restrictions[0m Restrict what client hostnames are allowed in [1mHELO [22mand [1mEHLO [22mcom- mands. [1msmtpd_sender_restrictions[0m Restrict what sender addresses are allowed in [1mMAIL FROM [22mcom- mands. [1msmtpd_recipient_restrictions[0m Restrict what recipient addresses are allowed in [1mRCPT TO [22mcom- mands. [1msmtpd_etrn_restrictions[0m Restrict what domain names can be used in [1mETRN [22mcommands, and what clients may issue [1mETRN [22mcommands. [1msmtpd_data_restrictions[0m Restrictions on the [1mDATA [22mcommand. Currently, the only restric- tion that makes sense here is [1mreject_unauth_pipelining[22m. [1mallow_untrusted_routing[0m Allow untrusted clients to specify addresses with sender-speci- fied routing. Enabling this opens up nasty relay loopholes involving trusted backup MX hosts. [1msmtpd_restriction_classes[0m Declares the name of zero or more parameters that contain a list of UCE restrictions. The names of these parameters can then be used instead of the restriction lists that they represent. [1msmtpd_null_access_lookup_key[0m The lookup key to be used in SMTPD access tables instead of the null sender address. A null sender address cannot be looked up. [1mmaps_rbl_domains [22m(deprecated) List of DNS domains that publish the addresses of blacklisted hosts. This is used with the deprecated [1mreject_maps_rbl [22mrestric- tion. [1mpermit_mx_backup_networks[0m Only domains whose primary MX hosts match the listed networks are eligible for the [1mpermit_mx_backup [22mfeature. [1mrelay_domains[0m Restrict what domains this mail system will relay mail to. The domains are routed to the delivery agent specified with the [1mrelay_transport [22msetting. [1mSender/recipient address verification[0m Address verification is implemented by sending probe email messages that are not actually delivered, and is enabled via the reject_unveri- fied_{sender,recipient} access restriction. The status of verification probes is maintained by the address verification service. [1maddress_verify_poll_count[0m How many times to query the address verification service for completion of an address verification request. Specify 1 to implement a simple form of greylisting, that is, always defer the request for a new sender or recipient address. [1maddress_verify_poll_delay[0m Time to wait after querying the address verification service for completion of an address verification request. [1mUCE control responses[0m [1maccess_map_reject_code[0m Response code when a client violates an access database restric- tion. [1mdefault_rbl_reply[0m Default template reply when a request is RBL blacklisted. This template is used by the [1mreject_rbl_* [22mand [1mreject_rhsbl_* [22mrestric- tions. See also: [1mrbl_reply_maps [22mand [1msmtpd_expansion_filter[22m. [1mdefer_code[0m Response code when a client request is rejected by the [1mdefer[0m restriction. [1minvalid_hostname_reject_code[0m Response code when a client violates the [1mreject_invalid_hostname[0m restriction. [1mmaps_rbl_reject_code[0m Response code when a request is RBL blacklisted. [1mmulti_recipient_bounce_reject_code[0m Response code when a multi-recipient bounce is blocked. [1mrbl_reply_maps[0m Table with template responses for RBL blacklisted requests, indexed by RBL domain name. These templates are used by the [1mreject_rbl_* [22mand [1mreject_rhsbl_* [22mrestrictions. See also: [1mdefault_rbl_reply [22mand [1msmtpd_expansion_filter[22m. [1mreject_code[0m Response code when the client matches a [1mreject [22mrestriction. [1mrelay_domains_reject_code[0m Response code when a client attempts to violate the mail relay policy. [1munknown_address_reject_code[0m Response code when a client violates the [1mreject_unknown_address[0m restriction. [1munknown_client_reject_code[0m Response code when a client without address to name mapping vio- lates the [1mreject_unknown_client [22mrestriction. [1munknown_hostname_reject_code[0m Response code when a client violates the [1mreject_unknown_hostname[0m restriction. [1munverified_sender_reject_code[0m Response code when a sender address is known to be undeliver- able. [1munverified_recipient_reject_code[0m Response code when a recipient address is known to be undeliver- able. [1mSEE ALSO[0m cleanup(8) message canonicalization master(8) process manager syslogd(8) system logging trivial-rewrite(8) address resolver verify(8) address verification service [1mLICENSE[0m The Secure Mailer license must be distributed with this software. [1mAUTHOR(S)[0m Wietse Venema IBM T.J. Watson Research P.O. Box 704 Yorktown Heights, NY 10598, USA SMTPD(8)