Visual RFC.
ALL RFCs / RFC 2920
Read the RFC ↗
RFC 2920 / SMTP COMMAND PIPELINING

Match whole replies to the command queue

03

Replies belong to commands by order and count. A multiline reply contains several lines but consumes only one command from the queue.

RFC 2920 · § 3.1EXAMPLE
4 / 4
Match whole replies to the command queueSMTP command pipelining. The fourth complete reply is 354 for DATA. After every envelope status is checked, content may start for the accepted recipient; a final message reply is still pending.Whole replies follow the issued queueMAIL#1RCPT A#2RCPT B#3DATA#4#1250#2250#3550#4354354 is DATA’s intermediate replyAll prior statuses checked; body may now startContent next; final reply still pendingRFC 2920 · chapter 3 · state 4 · fictional example
04
Read DATA’s own intermediate result

The fourth complete reply is 354 for DATA. After every envelope status is checked, content may start for the accepted recipient; a final message reply is still pending.

Source for this drawing: RFC 2920 · Read RFC section 3.1 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A message needs an address.

Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

A pipelining client MUST check ALL command statuses and correlate each complete reply with the next issued command. Using code or text to guess the owning command is expressly forbidden. After correlation, the numeric status still determines the command’s success or failure.

  • A pipelining client MUST check ALL command statuses and correlate each complete reply with the next issued command. Using code or text to guess the owning command is expressly forbidden. After correlation, the numeric status still determines the command’s success or failure.
  • Multiline replies MUST be supported and MUST NOT be confused with replies to several commands. A hyphen after the three-digit code continues a reply; its final line has no hyphen. Identical 250 values can belong to different commands.
  • In this fictional group, MAIL succeeds, recipient A succeeds, recipient B fails, and DATA returns 354. The last recipient’s failure does not erase an earlier accepted recipient.
  • 354 means start content, not final acceptance of the message. After the content terminator, a separate final reply is still needed. Base reply framing and final-result meaning are in RFC 5321 sections 4.2 and 4.2.5; verified erratum 4198 identifies the sender as the party interpreting received reply severity.
DETAILS

Fictional ASCII SMTP examples. PIPELINING batches commands, not delivery guarantees or security. Packet boundaries and wall-clock timing are schematic.

Read the RFC section ↗

All chapters in RFC 2920

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗