java中发送email,附件excel里的内容为乱码--解决方案

问题描述: java中发送email,附件excel里的内容为乱码

解决方法:

           Multipart multipart = new MimeMultipart();
            MimeBodyPart contentPart = new MimeBodyPart();
            contentPart.setText(content,"UTF-8");
            contentPart.setHeader("Content-Type", "text/html; charset=UTF-8");
            multipart.addBodyPart(contentPart); /*添加附件*/
            MimeBodyPart fileBody = new MimeBodyPart();
            //以下屏蔽掉的这行代码,是错误的,会导致附件excel表格里面的内容乱码
//            DataSource source = new ByteArrayDataSource(attachments.get(0), "application/msexcel");

            FileDataSource source=new FileDataSource(attachments.get(0));
            fileBody.setDataHandler(new DataHandler(source));
            fileBody.setFileName(MimeUtility.encodeText(excelName));
            multipart.addBodyPart(fileBody);
            mailMessage.setContent(multipart);
            mailMessage.saveChanges();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值