javamail发送邮件时附件名显示为乱码的解决

本文介绍如何解决使用JavaMail API开发邮件服务时遇到的中文附件名称乱码问题,并提供了一个示例代码,用于发送普通邮件和HTML邮件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用javamail api开发邮件服务系统时,我们常常会碰到中文乱码问题。

发送名称含中文的附件到邮件服务器,用别的邮件接收程序接收到的附件名显示为乱码

解决办法:

在调用MimeBodyPartsetFileName()时使用MimeUtility进行编码。例如:

// mbpBodyPart实例

//fdsFileDataSource实例

mbp.setFileName(MimeUtility.encodeText(fds.getName(),"gb2312","B"));


同时,在参阅别人的文章和代码的基础上,我写了一个发送邮件的类(普通邮件,HTML邮件),HTML内部图片和关联文件的处理正在进行中, 如有需要的朋友,请给我来信(stuart_zhu@126.com)