Keep DATA framing separate from an estimate
04The receiver still uses SMTP’s dot-line terminator to find the end of DATA, even when the declared size is wrong.
In the alternative outcome the server rejects after transfer. Actual size exceeds the estimate, so a 552 can occur; temporary errors can still occur too.
Source for this drawing: RFC 1870 · Read RFC section 6 ↗
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.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
Related current SMTP transparency rules double a leading dot and terminate DATA with a dot-only line. RFC 5321 supersedes the base SMTP RFC 821, not RFC 1870.
Read the updated RFC section ↗Servers MUST NOT use SIZE to determine the end of DATA content.
- A server is permitted, not required, to accept content larger than its estimate; an underestimated message can instead be rejected after transfer.
- After agreeing to the estimate, the server should not issue a post-transfer 552 unless actual size exceeds the declaration.
- Clients must still be prepared for temporary and permanent errors at DATA or after transfer. SIZE is no storage or delivery guarantee.
The drawing uses the same 23-octet counting fragment with a deliberately inaccurate SIZE=20. An implementation must enforce its own resource limits.
Read the RFC section ↗