当前位置: 代码迷 >> Java Web开发 >> java发送邮件,附件名称有关问题
  详细解决方案

java发送邮件,附件名称有关问题

热度:3553   发布时间:2013-02-25 21:15:12.0
java发送邮件,附件名称问题
我用java发送带附件的邮件,附件路径是d:/mail/mail.txt发送到邮箱后附件名称变为d_mail_mail.txt是什么原因

------解决方案--------------------------------------------------------
是用javamail发吗?
MimeBodyPart类有setFileName()方法,手动设置附件名称。
------解决方案--------------------------------------------------------
Java code
   // 添加附件              BodyPart affixBody = new MimeBodyPart();              DataSource source = new FileDataSource(mailBody.getAffix());     // 添加附件的内容              affixBody.setDataHandler(new DataHandler(source));              // 添加附件的标题这里很重要,通过下面的Base64编码的转换可以保证你的              // 中文附件标题名在发送时不会变成乱码              sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();              String fileName = "=?GBK?B?"                     + enc.encode(mailBody.getAffixName().getBytes()) + "?=";              affixBody.setFileName(fileName);              multipart.addBodyPart(affixBody);           }
  相关解决方案