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

时间:2016-01-26 09:40:45

标签: 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)在客户端上找到一个相对设置(microsoft outlook),我想错过了一些信息才能成功解码。

有什么想法吗?

提前致谢!!

1 个答案:

答案 0 :(得分:0)

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

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

Attachment is not properly sent in Wildfly 8

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

For Wildfly 9 and 10 all right!

那么这里可能出现什么问题?

  • 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)进行编码时,您解决了该错误,现在该解决方法会导致您出现问题。