微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

虽然这在WildFly 8上运行良好,但它在WildFly 9.x上使用相同的邮件服务器失败.我的意思是以这种格式收到附件说明:= UTF-8BzrTOv866zrnOvM63IM68zrUgzrXOu867zrfOvc65zrrOsS5wZGY ==

我一直在努力:

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

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

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

有任何想法吗?

提前致谢!!

解决方法

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

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

第二个屏幕是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)进行编码时,你解决了这个bug,现在这解决方法会给你带来问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


应用场景 C端用户提交工单、工单创建完成之后、会发布一条工单创建完成的消息事件(异步消息)、MQ消费者收到消息之后、会通知各处理器处理该消息、各处理器处理完后都会发布一条将该工单写入搜索引擎的消息、最终该工单出现在搜索引擎、被工单处理人检索和处理。 事故异常体现 1、异常体现 从工单的流转记录发现、
线程类,设置有一个公共资源 package cn.org.chris.concurrent; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * @Descrip
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量
Java 9中JShell中的不同启动脚本是什么?
使用Java的位填充错误检测技术
java中string是什么
如何使用Java中的JSON-lib API将Map转换为JSON对象?