JavaMail附件中文名称出现乱码,可能原因有三种。

1、文件名编码

fileName = new String(fileName.getBytes(),"iso8859-1");//解决邮件附件名中文乱码

2、附件名过长

// linux 下 程序使用javamail1.4.4 发邮件带附件,若附件名过长,会被截断。

原因如下

参数mail.mime.splitlongparameters 在linux下 会默认为 true,附件名过长,就会被截断

解决方案:

只要在设置邮件属性

new MimeMessage、new MimeMultipart、new MimeBodyPart 之前(一个比较靠前的位置,如果在new MimeMultipart之后添加,有可能无效),添加如下红色代码。

System.getProperties().setProperty("mail.mime.splitlongparameters", "false");

就可以避免在linux下利用javamail1.4.4发邮件带附件,附件名过长而被被截断,导致接收端解析失败的异常了

3、MimeUtility.encodeText

如果还出现中文乱码的话,就在获取到附件名的时候进行MimeUtility.encodeText(source.getName());编码,就可以避免中文乱码了,

//中文名过长MimeUtility.encodeText方法会自动给添加下划线,通过查找得知:对文件进行编码时超出长度会自动通过"/r","/n"替换,而MimeUtility.encodeText可能通过"_"进行连接,只要替换了"/r","/n"即可,如下

String filenames=MimeUtility.encodeText(source.getName());
filenames=filenames.replace("\\r","").replace("\\n","");

//设置附件名
bodyPart.setFileName(filenames);

参考文章:https://q.cnblogs.com/q/106063/

参考文章:https://blog.csdn.net/albert0707/article/details/69284700

参考文章:https://zhidao.baidu.com/question/109333573.html

JavaMail附件中文名称乱码相关推荐

  1. java邮件附件名称乱码_Javamail 中附件中文名字乱码祥解 (转)

    Javamail 中附件中文名字乱码祥解 (转)[@more@]现在研究JavaMail的人越来越多,现在我就谈谈在javamail中大家都会遇到的附件中文问题,由于sun的java的中文问题,导致当 ...

  2. 解决cv保存图片中文名称乱码 cv2.imwrite cv2.imencode

    解决opencv保存图片中文名称乱码 寮犱笁 代码 import cv2cv2.imwrite('张三.jpg') 解决办法 import cv2output_path = '张三.jpg' cv2. ...

  3. JAVA代码实现Excel下载,中文名称乱码问题

    #JAVA代码实现Excel下载,中文名称乱码问题 ##第一:检查乱码的服务器版本是否在代码中进行处理 ###处理方式: if(request.getHeader("user-Agent&q ...

  4. php excel中文名称乱码,phpexcel导出中文文件名乱码的解决办法

    使用phpexcel类库导出excel文件,文件名为中文时,在chrome浏览器下导出正常,在IE内核浏览器下导出文件名显示乱码,解决办法就是通过iconv函数转换编码,从utf-8转为gb2312, ...

  5. 解决下载文件中文名称乱码问题

    场景:在做下载文件功能时,发现下载的文件名称包含中文会出现乱码问题,查阅很多资料都没用解决,最后使用java.net.URLEncoder.encode对文件名称进行预处理解决该问题. 后端代码如下: ...

  6. 计算机中文名称乱码,中文文件名乱码怎么解决?

    01 首先,我们点击左上角的Microsoft按钮,界面弹出,找到Windows系统,点击打开,然后点击控制面板.进入控制面板后,单击appearance和personalization.对于弹出界面 ...

  7. 解决苹果(mac)浏览器safari导出excel中文名称乱码问题

    修改前 我们开发代码里有两种写法,safari导出excel中文乱码,英文是没问题的,但是但是导出中文的会乱码. 方式一: response.setHeader("content-Type& ...

  8. iOS中SSZipArchive解压带中文名称乱码、解压失败、丢失文件的问题

    在开发中,使用SSZipArchive这个第三方库,可以很好对文件进行压缩和解压缩,基本的压缩和解压缩很简单,根据相关API实现就可以.现在,我们说一下,使用SSZipArchive解压缩过程中出现的 ...

  9. 解决不同浏览器下载excel文件中文名称乱码问题

    楼主多次测试发现,现在的三大主流浏览器(IE,Firefox,Chrome). IE浏览器对文件格式审查最严格,在从网页导出Excel的时候,需要对文件名称指定编码类型(UTF-8) HttpUtil ...

最新文章

  1. NeurIPS2019 入选论文数据深度剖析!!!
  2. 下一跳网关和转发接口的使用情况
  3. charles 手机证书下载安装
  4. 数据分析项目某电商app行为数据分析(1)
  5. Mycat和Mysql搭建高可用企业数据库集群
  6. VB.NET在线升级程序源代码,可以独立使用
  7. 为什么判断list的时候,既要判断不等于null有要判断size大于0
  8. UVa11988 Broken Keyboard (a.k.a. Beiju Text)
  9. wireguard握手报文结构
  10. 自学python要多久-自学Python多久能找到工作
  11. spark mlib行矩阵(RowMatrix)入门
  12. Texas Instruments Website
  13. 多传感器融合算法,基于Lidar,Radar,Camera算法
  14. 中国城市电话区号对照表,不包括台湾
  15. 解决Minimum supported Gradle version is 7.0.2. Current version is 6.8.
  16. item_get - 获得淘宝商品详情
  17. 海尔智家罗马尼亚冰箱工厂将投产;长沙世茂希尔顿酒店今夏揭幕​;现代与LG新能源打造环保汽车电池 | 美通企业周刊...
  18. 基于51单片机的智能加湿控制器设计
  19. SPIN Routing Algorithm
  20. visio2017里让字体大小随框自动调节步骤

热门文章

  1. 怎么在vscode上面使用git仓库管理工具
  2. springBoot实战微信扫一扫授权一键登录
  3. 放弃谷歌实习转投ICC,我是如何曲线上岸G家的?
  4. 使用hardhat 开发以太坊智能合约-验证合约
  5. 【人工智能】推荐系统
  6. 【孙伟】网页设计(切图)视频教程-孙伟-专题视频课程
  7. 云原生可观察性之日志管理
  8. java heritrix_Heritrix 和 Nutch 比较与分析(java开源网络爬虫)
  9. 一、Django基础介绍
  10. stm32l01系列单片机通过串口编程(ISP)