SMTP(8) SMTP(8)
NAME
smtp - Postfix remote delivery via SMTP
SYNOPSIS
smtp [generic Postfix daemon options]
DESCRIPTION
The SMTP client processes message delivery requests from
the queue manager. Each request specifies a queue file, a
sender address, a domain or host to deliver to, and recip-
ient information. This program expects to be run from the
master(8) process manager.
The SMTP client updates the queue file and marks recipi-
ents as finished, or it informs the queue manager that
delivery should be tried again at a later time. Delivery
problem reports are sent to the bounce(8) or defer(8) dae-
mon as appropriate.
The SMTP client looks up a list of mail exchanger
addresses for the destination host, sorts the list by
preference, and connects to each listed address until it
finds a server that responds.
Once the SMTP client has received the server greeting ban-
ner, no error will cause it to proceed to the next address
on the mail exchanger list. Instead, the message is either
bounced, or its delivery is deferred until later.
SECURITY
The SMTP client is moderately security-sensitive. It talks
to SMTP servers and to DNS servers on the network. The
SMTP client can be run chrooted at fixed low privilege.
STANDARDS
RFC 821 (SMTP protocol)
RFC 822 (ARPA Internet Text Messages)
RFC 1651 (SMTP service extensions)
RFC 1652 (8bit-MIME transport)
RFC 1870 (Message Size Declaration)
RFC 2045 (MIME: Format of Internet Message Bodies)
RFC 2046 (MIME: Media Types)
RFC 2554 (AUTH command)
RFC 2821 (SMTP protocol)
RFC 2920 (SMTP Pipelining)
DIAGNOSTICS
Problems and transactions are logged to syslogd(8). Cor-
rupted message files are marked so that the queue manager
can move them to the corrupt queue for further inspection.
Depending on the setting of the notify_classes parameter,
the postmaster is notified of bounces, protocol problems,
and of other trouble.
BUGS
CONFIGURATION PARAMETERS
The following main.cf parameters are especially relevant
to this program. See the Postfix main.cf file for syntax
details and for default values. Use the postfix reload
command after a configuration change.
Miscellaneous
best_mx_transport
Name of the delivery transport to use when the
local machine is the most-preferred mail exchanger
(by default, a mailer loop is reported, and the
message is bounced).
debug_peer_level
Verbose logging level increment for hosts that
match a pattern in the debug_peer_list parameter.
debug_peer_list
List of domain or network patterns. When a remote
host matches a pattern, increase the verbose log-
ging level by the amount specified in the
debug_peer_level parameter.
disable_dns_lookups
Disable DNS lookups. This means that mail must be
forwarded via a smart relay host.
smtp_host_lookup
What host lookup mechanism the SMTP client should
use. Specify dns (use DNS lookup) and/or native
(use the native naming service which also uses
/etc/hosts). This setting is ignored when DNS
lookups are disabled.
error_notice_recipient
Recipient of protocol/policy/resource/software
error notices.
fallback_relay
Hosts to hand off mail to if a message destination
is not found or if a destination is unreachable.
ignore_mx_lookup_error
When a name server fails to respond to an MX query,
search for an A record instead deferring mail
delivery.
inet_interfaces
The network interface addresses that this mail sys-
tem receives mail on. When any of those addresses
appears in the list of mail exchangers for a remote
destination, the list is truncated to avoid mail
delivery loops. See also the proxy_interfaces
parameter.
notify_classes
When this parameter includes the protocol class,
send mail to the postmaster with transcripts of
SMTP sessions with protocol errors.
proxy_interfaces
Network interfaces that this mail system receives
mail on by way of a proxy or network address trans-
lator. When any of those addresses appears in the
list of mail exchangers for a remote destination,
the list is truncated to avoid mail delivery loops.
See also the inet_interfaces parameter.
smtp_always_send_ehlo
Always send EHLO at the start of a connection.
smtp_never_send_ehlo
Never send EHLO at the start of a connection.
smtp_bind_address
Numerical source network address to bind to when
making a connection.
smtp_line_length_limit
Length limit for SMTP message content lines. Zero
means no limit. Some SMTP servers misbehave on
long lines.
smtp_helo_name
The hostname to be used in HELO and EHLO commands.
smtp_quote_rfc821_envelope
Whether or not to quote MAIL FROM and RCPT TO
addresses as per the rules laid out in RFC 821.
smtp_skip_4xx_greeting
Skip servers that greet us with a 4xx status code.
smtp_skip_5xx_greeting
Skip servers that greet us with a 5xx status code.
smtp_skip_quit_response
Do not wait for the server response after sending
QUIT.
smtp_pix_workaround_delay_time
The time to pause before sending .<CR><LF>, while
working around the CISCO PIX firewall
<CR><LF>.<CR><LF> bug.
smtp_pix_workaround_threshold_time
The time a message must be queued before the CISCO
PIX firewall <CR><LF>.<CR><LF> bug workaround is
turned on.
MIME Conversion
disable_mime_output_conversion
Disable the conversion of 8BITMIME format to 7BIT
format when the remote system does not advertise
8BITMIME support.
mime_boundary_length_limit
The amount of space that will be allocated for MIME
multipart boundary strings. The MIME processor is
unable to distinguish between boundary strings that
do not differ in the first $mime_bound-
ary_length_limit characters.
mime_nesting_limit
The maximal nesting level of multipart mail that
the MIME processor can handle. Refuse mail that is
nested deeper, when converting from 8BITMIME format
to 7BIT format.
Authentication controls
smtp_sasl_auth_enable
Enable per-session authentication as per RFC 2554
(SASL). By default, Postfix is built without SASL
support.
smtp_sasl_password_maps
Lookup tables with per-host or domain name:password
entries. No entry for a host means no attempt to
authenticate.
smtp_sasl_security_options
Zero or more of the following.
noplaintext
Disallow authentication methods that use
plaintext passwords.
noactive
Disallow authentication methods that are
vulnerable to non-dictionary active attacks.
nodictionary
Disallow authentication methods that are
vulnerable to passive dictionary attack.
noanonymous
Disallow anonymous logins.
Resource controls
smtp_destination_concurrency_limit
Limit the number of parallel deliveries to the same
destination. The default limit is taken from the
default_destination_concurrency_limit parameter.
smtp_destination_recipient_limit
Limit the number of recipients per message deliv-
ery. The default limit is taken from the
default_destination_recipient_limit parameter.
Timeout controls
The default time unit is seconds; an explicit time unit
can be specified by appending a one-letter suffix to the
value: s (seconds), m (minutes), h (hours), d (days) or w
(weeks).
smtp_connect_timeout
Timeout for completing a TCP connection. When no
connection can be made within the deadline, the
SMTP client tries the next address on the mail
exchanger list.
smtp_helo_timeout
Timeout for receiving the SMTP greeting banner.
When the server drops the connection without send-
ing a greeting banner, or when it sends no greeting
banner within the deadline, the SMTP client tries
the next address on the mail exchanger list.
smtp_helo_timeout
Timeout for sending the HELO command, and for
receiving the server response.
smtp_mail_timeout
Timeout for sending the MAIL FROM command, and for
receiving the server response.
smtp_rcpt_timeout
Timeout for sending the RCPT TO command, and for
receiving the server response.
smtp_data_init_timeout
Timeout for sending the DATA command, and for
receiving the server response.
smtp_data_xfer_timeout
Timeout for sending the message content.
smtp_data_done_timeout
Timeout for sending the "." command, and for
receiving the server response. When no response is
received, a warning is logged that the mail may be
delivered multiple times.
smtp_rset_timeout
Timeout for sending the RSET command.
smtp_quit_timeout
Timeout for sending the QUIT command, and for
receiving the server response.
SEE ALSO
bounce(8) non-delivery status reports
master(8) process manager
qmgr(8) queue manager
syslogd(8) system logging
LICENSE
The Secure Mailer license must be distributed with this
software.
AUTHOR(S)
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
SMTP(8)