javamail BASE64DecoderStream解码问题

时间:2018-06-12 02:35:56

标签: base64 javamail

在javamail中发现了Base64DecoderStream的问题。我得到的一些电子邮件内容是这样的:

.mouseleave()

理想情况下,=符号应该替换为以下行中的单个字符,但gsuite(Gmail)有时会这样做。这会导致Base64DecoderStream损坏消息。但是,Outlook和许多流行的在线base64解码器都能很好地处理这个base64内容。这可以解决吗?

1 个答案:

答案 0 :(得分:1)

私下提供了其他详细信息,这使我能够确定问题是邮件包含MIME类型message / rfc822(原始邮件)的附件,并且该附件使用引用可打印的Content-Transfer-Encoding 。 MIME规范不允许将该编码用于该类型的MIME内容。这违反了Google真正需要修复的MIME规范。如果他们自己没有弄明白,请提供这些额外信息。

RFC 2046,第5.2.1节说:

  

不允许使用“7bit”,“8bit”或“binary”以外的编码   “message / rfc822”实体的主体。

同时,您可以将JavaMail系统属性mail.mime.allowencodedmessages设置为“true”以解决GSuite中的此错误。