繁体   English   中英

如何解码7bit普通/文本邮件正文(如何删除CRLF)?

[英]How to decode 7bit plain/text email body (how to remove CRLF)?

Content-Transfer-Encoding: 7bit
Content-Type: plain/text

根据rfc5322,您需要在78个字符后断行(添加CRLF)。

我的问题是如何解码文本/正文(删除CRLF)? 我怎么知道编码器添加了哪个CRLF,哪个是原始正文内容的一部分? 我已经检查了一些实现,但大多数实际上似乎并不打扰,但编码规则是强制执行的。

RFC没有说你必须在78个字符后断行:

每行字符必须不超过998个字符,并且不应超过78个字符,不包括CRLF。

没有办法“解码”发送系统添加的CRLF,收件人将保持原样。

如果您不想修改消息,请不要在任何小于998个字符的行中添加换行符。

实际上,rfc5322声明:

Each line of characters MUST be no more than 998 characters, and SHOULD 
be no more than 78 characters, excluding the CRLF.

这就是说, 建议行限制为78个字符。

对于基于文本的MIME部分(例如示例中的部分),您有几个选项可以实现此目的:

  1. 使用text/plain; format=flowed text/plain; format=flowed 有关此格式的更多信息,请查看rfc2646 从本质上讲,它提供了一种包装长线的方式,接收客户端是可逆的(嘿!这正是你想要的!)
  2. 使用不同的Content-Transfer-Encoding ,例如quoted-printablebase64
  3. 允许行超过78个字符,并希望它们不超过998个字符...但如果你有超过998个字符的超长行,你基本上会遇到同样的问题,所以你最好的选择是遵循其中一个其他选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM