OT: Long lines in email (was: Re: special bg color)
1i5t5.duncan at cox.net
Thu Dec 24 21:46:50 GMT 2009
Boyd Stephen Smith Jr. posted on Thu, 24 Dec 2009 10:16:14 -0600 as
> In <20091224085352.403b4f3a at o>, spir wrote:
>>Matthew Woehlke dixit:
>>> Also you might want to consider fixing your mailer to wrap long lines
>>> properly (or using a mailer that does).
>>My mail client is correctly set to soft-wrap long lines, instead of
>> hard-wrapping (inserting newlines) them, so that text nicely adapt to
>> reader-chosen width (*).
> Your client is doing it wrong, then. If you client would like to
> soft-wrap lines, it should follow conventions established in RFC 3676
> (format=flowed). Currently your client is sending a mail message with
> lines longer than 80 characters, which is a violation RFC 5322 (Internet
> Message Format).
It's not a violation, as long as the MUST requirement of no more than 998
characters per line (1000 minus the terminating CRLF sequence) is met.
It may not meet the SHOULD of 78 chars, but it DOES meet the MUST of 998
chars. Quoting the relevant section 2.1.1 of the RFC you named:
2.1.1. Line Length Limits
There are two limits that this specification places on the number of
characters in a line. Each line of characters MUST be no more than
998 characters, and SHOULD be no more than 78 characters, excluding
The 998 character limit is due to limitations in many implementations
that send, receive, or store IMF messages which simply cannot handle
more than 998 characters on a line. Receiving implementations would
do well to handle an arbitrarily large number of characters in a line
for robustness sake. However, there are so many implementations that
(in compliance with the transport requirements of [RFC5321]) do not
accept messages containing more than 1000 characters including the CR
and LF per line, it is important for implementations not to create
The more conservative 78 character recommendation is to accommodate
the many implementations of user interfaces that display these
messages which may truncate, or disastrously wrap, the display of
more than 78 characters per line, in spite of the fact that such
implementations are non-conformant to the intent of this
specification (and that of [RFC5321] if they actually cause
information to be lost). Again, even though this limitation is put
on messages, it is incumbent upon implementations that display
messages to handle an arbitrarily large number of characters in a
line (certainly at least up to the 998 character limit) for the sake
In light of that, the best clients will allow a /reader/ to toggle the
line wrap three ways: (1) to window/display width (this could well be a
variable number of characters if a non-fixed-width font is used), (2) to
the fixed width of no more than 78 chars as specified as the SHOULD, and
(3) to the width as the sender sent it, that is, the "raw" width, in case
there's line-wrap specific content (like say programming code) included.
Good (as opposed to best, above, and poor, below) clients will allow
toggling between at least #3 (width as sent) AND ONE of the other two,
either the 78 char standard, OR the width of the display or display
window as appropriate.
Poor clients will hard-code ONE of the above, either forcing horizontal
scrolling, if they don't do any wrapping on still-compliant lines as sent
up to 998 chars, OR screwing up the display of line-wrap specific content
such as programming code. They will still comply with the RFC as long as
they can take upto 998 char lines without losing content, but they are
poor clients in that they *WILL* cause the user fits in ONE of the cases
above, either causing unnecessary horizontal scrolling in the case of up
to 998 char lines, or destroying the meaning of line feeds where that
information is critical to the message content.
Non-conformant clients will actually fail to display content with many
conformant messages, or will send messages longer than 998 chars in raw
format. In the old days, this usually took the form of arbitrarily
chopping off messages at the 78 char boundary, with no option for
horizontal scrolling. Luckily, these clients tend to be few and far
between, as users tend to migrate away from them rather quickly. Now
days, it's possible that non-conforming clients allowing more than 998
chars per raw sent line are more common than the above "choppers".
FWIW, it's been awhile since I checked, but I believe both news and mail
message /headers/ are limited to 80 char lines (78 plus terminating CRLF)
in raw format (there's a wrapping spec), but message /bodies/ only have
the 1000 char line limit (998 plus terminating CRLF) MUST, tho they
SHOULD also follow the 80 char (78 plus terminating CRLF) SHOULD.
However, clients MUST be able to handle 1000 char (998 + CRLF) line
bodies or they are NOT compliant. Similarly, they MUST limit body lines
to 1000 chars (998+CRLF) or they are not compliant, with the 80 char (78
+CRLF) limit a SHOULD, not a MUST.
(FWIW, one of the reasons I use pan as a news client -- I read this list
as news thru gmane.org -- is that it complies not only with the RFCS, but
also with the GNKSA, to 100% including the SHOULDs. As such, it fits in
the "good client" category above, allowing toggling between #2 and 3
above, 78-char and raw-width. I honestly don't know what kmail does, but
I have a reasonably wide display window, and don't get so much mail there
as all the lists are thru pan, so it hasn't bothered me, whatever it
does. I do wish it would show attached images (NOT ones that have to be
fetched!), tho, even in no-html mode, say below the message. That's what
pan does and it works quite well. Of course, knode has issues with this
sort of thing, or did, last I looked at it, the reason I don't use it.)
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
This message is from the kde mailing list.
Account management: https://mail.kde.org/mailman/listinfo/kde.
More info: http://www.kde.org/faq.html.
More information about the kde