Visual RFC.
ALL RFCs / RFC 1870
Read the RFC ↗
RFC 1870 / SMTP MESSAGE SIZE

Reject early or continue the envelope

03

The extended MAIL command gives the server a chance to refuse a costly transfer before any message body is sent.

RFC 1870 · § 6.1EXAMPLE
4 / 4
Reject early or continue the envelopeAlternative extended-MAIL paths follow an example fixed maximum1000000. A declaration800000 is offered, then one separate successful250 outcome continues to RCPT without a delivered message. Another branch returns452 for temporary storage shortage and stops before DATA; reset or quit and retry later. A declaration1200000 gets552 above the fixed limit and stops before DATA; reset or quit and notify the sender when there is a sender address. Values and capacity are illustrative.Check the offer before sending the bodySMTP clientSMTP serverMAIL FROM:<a@example.com> SIZE=1200000Advertised fixed maximum: 1000000552 fixed maximum exceededsend DATA bodyClient should RSET or QUITReport undeliverable if a sender exists
04
Handle a permanent 552.

A separate declaration of 1200000 exceeds the advertised fixed limit of 1000000. Stop before DATA, reset or quit, and report failure when a sender address exists.

Source for this drawing: RFC 1870 · Read RFC section 6.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 positive MAIL reply accepts this envelope step, not final delivery.

  • 452 means a potentially temporary storage shortage; 552 means the declared size exceeds the fixed maximum.
  • After MAIL 452 the client should RSET or QUIT, then try this message later. After MAIL 552 it should RSET or QUIT and report undeliverable when a sender address exists.
  • Other MAIL errors remain possible. A successful 250 does not guarantee a successful DATA transfer.
DETAILS

Values and storage budgets in the scenes are fictional. These are alternative outcomes, not a single transaction.

Read the RFC section ↗

All chapters in RFC 1870

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 ↗