LMTP(8)

NAME
lmtp - Postfix local delivery via LMTP

SYNOPSIS
lmtp [generic Postfix daemon options]

DESCRIPTION
The LMTP 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 recipient information. This program expects to be run from the master(8) process manager. The LMTP client updates the queue file and marks recipients as finished, or it informs the queue manager that delivery should be tried again at a later time. Delivery status reports are sent to the bounce(8), defer(8) or trace(8) daemon as appropriate. The LMTP client connects to the destination specified in the message delivery request. The destination, usually specified in the Postfix transport(5) table, has the form:

unix:pathname
    Connect to the local UNIX-domain server that is bound to the specified pathname. If the process runs chrooted, an absolute pathname is interpreted relative to the changed root directory.

inet:host, inet:host:port (symbolic host)

inet:[addr], inet:[addr]:port (numeric host)
    Connect to the specified IPV4 TCP port on the specified local or remote host. If no port is specified, connect to the port defined as lmtp in services(4). If no such service is found, the lmtp_tcp_port configuration parameter (default value of 24) will be used. The LMTP client does not perform MX (mail exchanger) lookups since those are defined only for mail delivery via SMTP.

If neither unix: nor inet: are specified, inet: is assumed.

SECURITY
The LMTP client is moderately security-sensitive. It talks to LMTP servers and to DNS servers on the network. The LMTP client can be run chrooted at fixed low privilege.

STANDARDS
RFC 821 (SMTP protocol)
RFC 1651 (SMTP service extensions)
RFC 1652 (8bit-MIME transport)
RFC 1870 (Message Size Declaration)
RFC 2033 (LMTP protocol)
RFC 2034 (Enhanced Status codes)
RFC 2554 (AUTH command)
RFC 2821 (SMTP protocol)
RFC 2920 (SMTP Pipelining)
RFC 3463 (Enhanced Status codes)

DIAGNOSTICS
Problems and transactions are logged to syslogd(8). Corrupted 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.

CONFIGURATION PARAMETERS
Changes to main.cf are picked up automatically, as lmtp(8) processes run for only a limited amount of time. Use the command "postfix reload" to speed up a change. The text below provides only a parameter summary. See postconf(5) for more details including examples.

COMPATIBILITY CONTROLS

lmtp_skip_quit_response (no)
    Wait for the response to the LMTP QUIT command.

TROUBLE SHOOTING CONTROLS

debug_peer_level (2)
    The increment in verbose logging level when a remote client or server matches a pattern in the debug_peer_list parameter.

debug_peer_list (empty)
    Optional list of remote client or server hostname or network address patterns that cause the verbose logging level to increase by the amount specified in $debug_peer_level.

error_notice_recipient (postmaster)
    The recipient of postmaster notifications about mail delivery problems that are caused by policy, resource, software or protocol errors.

notify_classes (resource, software)
    The list of error classes that are reported to the postmaster.

EXTERNAL CONTENT INSPECTION CONTROLS
Available in Postfix version 2.1 and later:

lmtp_send_xforward_command (no)
    Send an XFORWARD command to the LMTP server when the LMTP LHLO server response announces XFORWARD support.

SASL AUTHENTICATION CONTROLS

lmtp_sasl_auth_enable (no)
    Enable SASL authentication in the Postfix LMTP client.

lmtp_sasl_password_maps (empty)
    Optional LMTP client lookup tables with one username:password entry per host or domain.

lmtp_sasl_security_options (noplaintext, noanonymous)
    What authentication mechanisms the Postfix LMTP client is allowed to use.

RESOURCE AND RATE CONTROLS
In the text below, transport is the name of the service as specified in the master.cf file.

lmtp_cache_connection (yes)
    Keep Postfix LMTP client connections open for up to $max_idle seconds.

transport_destination_concurrency_limit ($default_destination_concurrency_limit)
    Limit the number of parallel deliveries to the same destination via this mail delivery transport.

transport_destination_recipient_limit ($default_destination_recipient_limit)
    Limit the number of recipients per message delivery via this mail delivery transport. This parameter becomes significant if the LMTP client is used for local delivery. Some LMTP servers can optimize delivery of the same message to multiple recipients. The default limit for local mail delivery is 1. Setting this parameter to 0 will lead to an unbounded number of recipients per delivery. However, this could be risky since it may make the machine vulnerable to running out of resources if messages are encountered with an inordinate number of recipients. Exercise care when setting this parameter.

lmtp_connect_timeout (0s)
    The LMTP client time limit for completing a TCP connection, or zero (use the operating system built-in time limit).

lmtp_lhlo_timeout (300s)
    The LMTP client time limit for receiving the LMTP greeting banner.

lmtp_xforward_timeout (300s)
    The LMTP client time limit for sending the XFORWARD command, and for receiving the server response.

lmtp_mail_timeout (300s)
    The LMTP client time limit for sending the MAIL FROM command, and for receiving the server response.

lmtp_rcpt_timeout (300s)
    The LMTP client time limit for sending the RCPT TO command, and for receiving the server response.

lmtp_data_init_timeout (120s)
    The LMTP client time limit for sending the LMTP DATA command, and for receiving the server response.

lmtp_data_xfer_timeout (180s)
    The LMTP client time limit for sending the LMTP message content.

lmtp_data_done_timeout (600s)
    The LMTP client time limit for sending the LMTP ".", and for receiving the server response.

lmtp_rset_timeout (20s)
    The LMTP client time limit for sending the RSET command, and for receiving the server response.

lmtp_quit_timeout (300s)
    The LMTP client time limit for sending the QUIT command, and for receiving the server response.

MISCELLANEOUS CONTROLS

config_directory (see 'postconf -d' output)
    The default location of the Postfix main.cf and master.cf configuration files.

daemon_timeout (18000s)
    How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer.

disable_dns_lookups (no)
    Disable DNS lookups in the Postfix SMTP and LMTP clients.

ipc_timeout (3600s)
    The time limit for sending or receiving information over an internal communication channel.

lmtp_tcp_port (24)
    The default TCP port that the Postfix LMTP client connects to.

max_idle (100s)
    The maximum amount of time that an idle Postfix daemon process waits for the next service request before exiting.

max_use (100)
    The maximal number of connection requests before a Postfix daemon process terminates.

process_id (read-only)
    The process ID of a Postfix command or daemon process.

process_name (read-only)
    The process name of a Postfix command or daemon process.

queue_directory (see 'postconf -d' output)
    The location of the Postfix top-level queue directory.

syslog_facility (mail)
    The syslog facility of Postfix logging.

syslog_name (postfix)
    The mail system name that is prepended to the process name in syslog records, so that "smtpd" becomes, for example, "postfix/smtpd".

SEE ALSO
bounce(8), delivery status reports
qmgr(8), queue manager
postconf(5), configuration parameters
master(5), generic daemon options
services(4), Internet services and aliases
master(8), process manager
syslogd(8), system logging

README FILES
Use "postconf readme_directory" or "postconf html_directory" to locate this information.
LMTP_README, Postfix LMTP client howto
VIRTUAL_README, virtual delivery agent howto

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
Modifications for LMTP by:
Philip A. Prindeville
Mirapoint, Inc.
USA.
SASL support originally by:
Till Franke
SuSE Rhein/Main AG
65760 Eschborn, Germany
Additional work on LMTP by:
Amos Gouaux
University of Texas at Dallas
P.O. Box 830688, MC34
Richardson, TX 75083, USA