The Meaning of text/plain

Recently several new email user agents have been introduced that emit text messages that have hard carriage returns that the end of paragraphs only. The receiving user agent is then expected to wrap the text to display correctly. This new policy represents a change in the accepted practice of over a decade of what a text message is.

There is no requirement per se that all forms of text be properly wrapped prior to transmission. However, there is a requirement that text/plain material be properly wrapped and that display agents not need to perform any formatting operations. You'll find it in RFC 2046 section 4.1.3, which it says text/plain is supposed to be displayed "as-is".

This requirement exists so that people who want to be able to send material that's already formatted the way they want it to be have some assurance that their formatting won't be gratuitously turned into garbage by display agents. When you think about how often people send things like configuration files through email you will see the importance of having this ability.

Now, if you think it is correct for your text to be cut off after the first 80 characters or so, you are entitled to put whole paragraphs on single lines. However, I doubt that this is what you want to have happen, which means that your user agent either misunderstands your intentions or else isn't properly conformant to the standards. Eitherway it is a user agent bug, plain and simple.

There are text subtypes where this requirement doesn't apply, of course. Examples include text/enriched and text/html. These types require that displays provide wrapping facilities and also provide ways of saying when to wrap and when not to. By all means use a text subtype of this sort if sending really long lines that need wrapping is what you want to do.

The bottom line is that sending text/plain messages with long lines and expecting that the receiving user agent will wrap long lines is a violation of the Internet standards and can be user abusive to those with standards compliant user agents.

Search: