RFC 3676 / START HERE
Flowed plain-text email, before the details
Text/Plain Format and DelSp parameters describe flowed plain-text email. DelSp controls deletion of a space; these are parameter names, not a protocol acronym.
They let a mail reader join and wrap a paragraph while keeping hard line breaks and quoted replies distinct. A trailing space marks a soft boundary in Format=flowed text.
The idea in one picture
Wire lines
Logical paragraph
Rewrapped display
A simplified picture of the idea; the chapters explain the actual mechanisms.
Why it exists
Narrow screens and nested replies can break paragraphs awkwardly. RFC3676 keeps the text readable in older mail readers while giving aware readers a way to reflow it; it replaces RFC2646 and adds DelSp.
A familiar example
A sender writes Meet at noon. An aware phone reader can fit the paragraph to its screen, then preserve quote depth in a reply. A missing parameter, changed trailing space or signature boundary changes what may be joined.
Helpful background
You can start here without reading another RFC. If these ideas are unfamiliar, these short introductions may help.
What you’ll learn next
Begin with chapter one, or choose a topic.
- Distinguish wire lines from display paragraphsA physical email line can end without ending the paragraph. Format=flowed marks which boundaries a reader may rewrap.→
- Keep or delete exactly one soft-break spaceDelSp tells a reader whether the SPACE immediately before a soft CRLF is content or an extra marker to remove.→
- Count quotes before removing one stuffing spaceA leading SPACE can protect literal text. Quote marks must be counted before that one protective SPACE is removed.→
- Stop joins at quote and signature boundariesOnly lines at the same quote depth share a paragraph. Signature separators are a special boundary even though they end in SPACE.→
- Keep corruption and cryptographic input separateChanging trailing spaces can change what a flowed reader displays. Cryptographic processing must use the agreed wire representation.→
This introduction explains RFC 3676 (2004). Read the original RFC ↗