Network Working Group N. Freed
Request For Comments: 1854 Innosoft International, Inc.
Category: Standards Track A. Cargille, WG Chair
October 1995
SMTP Service Extension for Command Pipelining
Freed & Cargille Standards Track [Page 1]
RFC 1854 SMTP Pipelining October 1995
(2) Flushing the TCP input buffer when an SMTP command fails. SMTP commands often fail but there is no reason to flush the TCP input buffer when this happens. Nevertheless, some SMTP servers do this.
1. Framework for the Command Pipelining Extension
The Command Pipelining extension is defined as follows:
Freed & Cargille Standards Track [Page 2]
RFC 1854 SMTP Pipelining October 1995 2. The Pipelining Service ExtensionWhen a client SMTP wishes to employ command pipelining, it first issues the EHLO command to the server SMTP. If the server SMTP responds with code 250 to the EHLO command, and the response includes the EHLO keyword value PIPELINING, then the server SMTP has indicated that it can accommodate SMTP command pipelining.
2.1. Client use of pipelining
Once the client SMTP has confirmed that support exists for the pipelining extension, the client SMTP may then elect to transmit groups of SMTP commands in batches without waiting for a response to each individual command. In particular, the commands RSET, MAIL FROM, SEND FROM, SOML FROM, SAML FROM, and RCPT TO can all appear anywhere in a pipelined command group. The EHLO, DATA, VRFY, EXPN, TURN, QUIT, and NOOP commands can only appear as the last command in a group since their success or failure produces a change of state which the client SMTP must accommodate. (NOOP is included in this group so it can be used as a synchronization point.)
Freed & Cargille Standards Track [Page 3]
RFC 1854 SMTP Pipelining October 1995
Clients MUST NOT confuse responses to multiple commands with multiline responses. Each command requires one or more lines of response, the last line not containing a dash between the response code and the response string.
2.2. Server support of pipelining
A server SMTP implementation that offers the pipelining extension:
Freed & Cargille Standards Track [Page 4]
RFC 1854 SMTP Pipelining October 1995 3. ExamplesConsider the following SMTP dialogue that does not use pipelining:
Freed & Cargille Standards Track [Page 5]
RFC 1854 SMTP Pipelining October 1995
...
Freed & Cargille Standards Track [Page 6]
RFC 1854 SMTP Pipelining October 1995 4. Security ConsiderationsThis RFC does not discuss security issues and is not believed to raise any security issues not endemic in electronic mail and present in fully conforming implementations of [1].
5. Acknowledgements
This document is based on the SMTP service extension model presented in RFC 1425. Marshall Rose's description of SMTP command pipelining in his book "The Internet Message" also served as a source of inspiration for this extension.
6. References
[1] Postel, J., "Simple Mail Transfer Protocol", STD 10
7. Author's Address
Ned Freed Innosoft International, Inc. 1050 East Garvey Avenue South West Covina, CA 91790 USA