Wildfly 9.x无法编码希腊语附件文件名

evi*_*lxg 7 java encoding utf-8 wildfly wildfly-9

javax.mail用来调用邮件服务器并将文件作为邮件附件发送,编码文件名,如下所示:MimeUtility.encodeText(filename,"UTF-8",null)

虽然这已经正常工作WildFly 8,但它WildFly 9.x使用相同的 邮件服务器失败.我的意思是以这种格式收到附件说明:=UTF-8BzrTOv866zrnOvM63IM68zrUgzrXOu867zrfOvc65zrrOsS5wZGY==

我一直在努力:

1)在应用程序服务器上找到相对设置 - 没有运气.

2)编码ISO-8859-7只能偶尔使用,因为它似乎取决于文件名长度和某些字符的存在.

3)在客户端(微软展望)上找到一个相对设置,我想错过了一些信息才能成功解码.

有任何想法吗?

提前致谢!!

Tai*_*air 0

为了测试您的问题,我在这里创建了一个演示项目。它发送的消息的各个部分都带有非 ASCII 符号,但不使用encodeText,因为它是由 Mail API 自动处理的。我使用 Wildfly 8、9、10 对其进行了测试,以将消息发送到http://mailtrap.io

第一个屏幕显示从 Wildfly 8 发送的消息。附件未正确发送,因此不存在:

Wildfly 8 中附件未正确发送

第二个屏幕是Wildfly 9 发送的消息(10 相同)。如您所见,有一个具有正确文件名的附件:

对于 Wildfly 9 和 10 没问题!

那么这里可能存在什么问题呢?

  • Wildfly 8 附带 Java Mail API 1.5.1
  • Wildfly 9 附带 Java Mail API 1.5.3
  • Wildfly 10 附带 Java Mail API 1.5.5

我认为您在 Java Mail 版本 1.5.1 中遇到了错误。

最有可能的是,您在针对 Wildfly 8 进行编码时解决了该错误(手动使用encodeText),现在该解决方法给您带来了问题。