推理behing 76是MIME部分的行长度限制,由RFC 2045定义?

use*_*479 14 email base64 mime

RFC 2045将编码数据的最大行长度定义为76 - 但是我找不到任何解释为什么它是76.这个数字是完全随意的,还是有一些推理呢?

app*_*eaf 9

RFC2822是EMail的传统标准.在RFC2822的2.1.1节中,您可以找到如下原因:它还会影响MIME.

此标准对一行中的字符数有两个限制.每行字符必须不超过998个字符,并且不应超过78个字符,不包括CRLF.

998字符限制是由于许多实现中的限制,这些实现发送,接收或存储无法在一行上处理超过998个字符的Internet消息格式消息.为了鲁棒性,接收实现可以很好地处理一行中任意大量的字符.但是,有许多实现(符合[RFC2821]的传输要求)不接受包含超过1000个字符的消息,包括每行的CR和LF,对于不创建此类消息的实现很重要.

更保守的78字符建议是容纳显示这些消息的用户界面的许多实现,这些消息可能截断或者灾难性地换行每行超过78个字符的显示,尽管这样的实现不符合这些实现.本规范的意图(以及[RFC2821]的意图,如果它们实际上导致信息丢失).同样,即使对消息施加了这种限制,但为了鲁棒性,它在显示消息以处理行中任意大量字符(当然至少达到998字符限制)的实现方面是有害的.

  • 这很好,但 RFC2045 的限制是 76,而不是 78。知道那是什么吗? (2认同)
  • 可能是76 + 2(CRLF) (2认同)

Ale*_*yak 5

实际上,最初的 RFC 822 定义了 72 个字符的限制,罪魁祸首是电传打字机,这是早期计算机的标准输出设备。

您还可以“感谢”电传设备,因为电子邮件(和 Windows)中的行终止符为 2 个字符,即 CR(回车)和 LF(换行)。

必须在每行的末尾传输此序列,以便电传打字机将插入符号移动到位置 0 并将纸张向前推进一个刻度。

到 RFC 2822 废弃原始版本时,没有人使用电传打字机来呈现电子邮件,因此它放宽了一点以适应默认的 TTY 监控设备。