quoted-printable是否足以使邮件符合RFC 2822中规定的行长度限制?


9

在RFC 2822(定义电子邮件)中定义,任何行都不应超过78个字符(不包括CRLF)且不得超过998个字符。用带引号的可打印更长的行将分成更多的行,并以'='结尾,直到达到真正的换行符为止。如果邮件包含多于78个(或998个)字符的行,但已用quoted-printable编码,则使该邮件符合标准?

有这样的说法,这是不合规的,因为接收方的邮件客户端在对带引号的可打印消息进行解码后具有更长的行。

编辑:按照大卫·卡里(David Cary)的要求来澄清问题:是的,我的意思是引号可打印的编码邮件应与引号可打印兼容,这意味着行数不能超过76个字符。但是,解码后的消息的行数可能会超过此限制。所以我的问题是:实施RFC 1521的客户端软件是否应该在解码带引号的可打印文本内容后处理无限长的行?到目前为止,两个答案都得到了肯定的回答(谢谢),但受​​到Netiquette(RFC 1855)的限制。但是Netiquette甚至将行长度限制为65个字符,几乎没有人遵守该限制。

Answers:


3

我不确定您在问什么:

接收邮件的客户端在解码quoted-printable之前发现长行

假设发送方的带引号的可打印编码软件仅将带引号的非可打印字母括起来,使所得的编码行比原始行更长,而没有添加“软换行符”,从而导致编码的行比限制长。

这是不合规的。

带引号的可打印编码数据行不得超过76个字符。为了在不更改编码文本的情况下满足此要求,可以添加软换行符。这些软换行符还允许在行尺寸受限的环境中对文本进行换行而无需换行(或包含很长的行),例如“ RFC 2821允许的某些SMTP软件的“每行1000个字符”限制。

- 维基百科:引用可打印,意译RFC2045第21页。

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

这符合RFC2822和RFC2045,并且应受所有软件的支持。

但是,一些Netiquette指南不鼓励创建此类消息,包括RFC 1855 “ Netiquette指南”的第3页。


RFC 1855包含许多古朴的概念,例如将附件大小限制为50K,或者认为地球上的任何人仍然将Gopher用于严肃的目的。
凯文

9

它绝对是合规的。Quoted-Printable以及RFC的MIME系列的其余部分(RFC 2045至RFC 2049)的重点是允许对在电子邮件中无效的数据进行编码。RFC 2822明确地(反复地!)将读者指向这些RFC,以获取有关如何执行此操作的信息。


1
+1线路限制不是强加给消息,而是强加给消息的传输。
克里斯·S

3

如果您真的想知道构建兼容的电子邮件编写器和解析器有多复杂,那么您必须在YouTube上观看此视频:http : //www.youtube.com/watch?v=JENdgiAPD6c

里卡多·西斯(Ricardo Signes)提供了有关不同RFC的内部观点以及它们给现实生活带来的愚蠢。

它是40分钟长,只会刮擦坏的和好的电子邮件“内容”的表面。观看之后,您将更改对您认为符合电子邮件标准的电子邮件软件的看法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.