RFC 2033 (rfc2033) - Page 3 of 7
Local Mail Transfer Protocol
Alternative Format: Original Text Document
RFC 2033 LMTP October 1996
traditional SMTP agent, transferring messages to and from other hosts
over TCP and managing a mail queue in persistent storage. The other
two are agents which handle delivery for addresses in domains for
which the host takes responsibility. One agent performs gatewaying
to and from some other mail system. The other agent delivers the
message into a persistent mail spool.
It would be desirable to use SMTP over a local inter-process
communication channel to transfer messages from the queue manager to
the delivery agents. It would, however, significantly increase the
complexity of the delivery agents to require them to manage their own
mail queues.
The common practice of invoking a delivery agent with the envelope
address(es) as command-line arguments, then having the delivery agent
communicate status with an exit code has three serious problems: the
agent can only return one exit code to be applied to all recipients,
it is difficult to extend the interface to deal with ESMTP extensions
such as DSN [DSN] and ENHANCEDSTATUSCODES [ENHANCEDSTATUSCODES], and
exits performed by system libraries due to temporary conditions
frequently get interpreted as permanent errors.
The LMTP protocol causes the server to return, after the final "." of
the DATA command, one reply for each recipient. Therefore, if the
queue manager is configured to use LMTP instead of SMTP when
transferring messages to the delivery agents, then the delivery
agents may attempt delivery to each recipient after the final "." and
individually report the status for each recipient. Connections which
should use the LMTP protocol are drawn in the diagram above using
asterisks.
Note that it is not beneficial to use the LMTP protocol when
transferring messages to the queue manager, either from the network
or from a delivery agent. The queue manager does implement a mail
queue, so it may store the message and take responsibility for later
delivering it.
4. The LMTP protocol
The LMTP protocol is identical to the SMTP protocol SMTP [SMTP]
[HOST-REQ] with its service extensions [ESMTP], except as modified by
this document.
A "successful" RCPT command is defined as an RCPT command which
returns a Positive Completion reply code.
A "Positive Completion reply code" is defined in Appendix E of STD
10, RFC 821 [SMTP] as a reply code which "2" as the first digit.
Myers Informational