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