簡體   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