发附件含有压缩文件的邮件,出现压缩文件名乱码

来源:互联网 发布:bf风格的淘宝店 编辑:程序博客网 时间:2024/05/16 12:46

发附件含有压缩文件的邮件,出现压缩文件名乱码。按照网上做的设定邮件主题的编码,设置压缩文件的编码,最后还是不行。

由于我的项目是接手别人的,因而这编码不一致,一个是gbk,一个utf-8.在将两者统一为gbk后问题解决。

尽力不要在程序中用两种编码方式。

先贴一下部分代码

mailMessage.setRecipients(Message.RecipientType.TO, toAddress);
// 设置邮件消息的主题
if(StringUtils.isNotEmpty(mailSenderInfo.getSubject())){
mailMessage.setSubject(MimeUtility.encodeText(
mailSenderInfo.getSubject(), "GBK", "B"));

}
// 设置邮件消息发送的时间
mailMessage.setSentDate(new Date());
// 设置邮件格式
mailMessage.isMimeType(mailSenderInfo.getMailType());


// 设置邮件正文与附件
MimeMultipart multipart = new MimeMultipart("mixed");
// 设置邮件文本内容



public static void zipFiles(Collection<File> resFileList, File zipFile) {
try {
ZipOutputStream zipout = new ZipOutputStream(
new BufferedOutputStream(new FileOutputStream(zipFile),
BUFF_SIZE));
zipout.setEncoding("GBK");
for (File resFile : resFileList) {
zipFile(resFile, zipout, "");
}
zipout.close();
} catch (FileNotFoundException e) {
LOGGER.error("【ZipUtils zipFiles two FileNotFoundException error】",
e);
} catch (IOException e) {
LOGGER.error("【ZipUtils zipFiles two IOException error】", e);
}
}


参考:http://blog.csdn.net/tolcf/article/details/41477003

http://blog.csdn.net/cqstart116/article/details/44728821


阅读全文
0 0
原创粉丝点击