是否足够引用可打印符合RFC 2822中的行长限制的邮件?

RFC 2822(定义电子邮件)被定义,没有行应该比78个字符(不包括CRLF)长,不得超过998个字符。 引用可打印的较长的行将被分成更多的行,结束每个“=”,直到真正的linebreak被达成。 如果邮件包含长度超过78(或998)个字符但用引号打印编码的邮件,则符合邮件标准?

有争论,这是不符合规定,因为接收邮件客户端解码quoted-printable消息后有更长的行。

编辑 :澄清问题的方式,由戴维·卡里问:是的,我的意思是报价打印编码的邮件应该兼容quoted-printable,意味着行不超过76个字符。 但是解码的消息可能有比这个限制更长的行。 所以我的问题是:执行RFC 1521的客户端软件是否应该在解码引用可打印的文本内容后处理无限长的行? 迄今为止,这两个答案都回答是肯定的(感谢),并且Netiquette(RFC 1855)对此不予以限制。 但networking礼仪甚至限制了一个长度为65个字符,几乎没有人遵守的限制。

我不确定你在问什么:

接收邮件客户端在解码quoted-printable之前查找长行

假设发送端的quoted-printable编码软件简单地引用了不可打印的字母,使得编码后的行比原始行更长,没有增加“软线中断”,导致编码行超过了限制。

这是不合规的。

引用打印的编码数据行不得超过76个字符。 为了在不改变编码文本的情况下满足这个要求,可以增加软换行符…这些软换行符还允许在行大小受限的环境下对文本进行没有换行符(或者包含非常长的行)的编码,比如“每行1000个字符“限制某些SMTP软件,如RFC 2821所允许的。

– 维基百科:quoted-printable ,释义RFC2045第21页。

编码行很短,但接收邮件客户端在解码quoted-printable后发现长行

这符合RFC2822和RFC2045,应该由所有软件支持。

但是,包括RFC 1855 “networking礼节指南”在内的一些networking礼节指南也不鼓励创build这样的消息。

这绝对是合规的。 Quoted-Printable和其他MIME系列RFC(RFC 2045到RFC 2049)的其他部分是允许编码在电子邮件中无效的数据。 RFC 2822明确地(并且重复地)指出在这些RFC的读者关于如何做到这一点的信息。

如果您真的想知道构build兼容的电子邮件编辑器和parsing器有多复杂,那么您必须在Youtube上观看此video: http : //www.youtube.com/watch?v = JENdgiAPD6c

里卡多·西格尼斯(Ricardo Signes)给出了不同RFC的内部观点,以及他们为现实生活带来了多less愚蠢。

这是40分钟的时间,只是刮坏了坏的,好的电子邮件“内容”的表面。 看完后你会改变你对电子邮件软件的看法,你认为它符合电子邮件标准。