原帖地址:
JavaMail附件中文名称乱码 - Different Design Studio - 博客频道 - CSDN.NET http://blog.csdn.net/fireson/article/details/7095948
问题: 用Javamail发邮件到邮件服务器,从邮箱中查看发现附件的中文名称变成了密码
原因:不明
解决:在设置邮件附件的时候调用javax.mail.internet.MimeUtility 来编码, 例如
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = { new InternetAddress(to) };
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);
// create and fill the first message part
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setText(msgText1);
// create the second message part
MimeBodyPart mbp2 = new MimeBodyPart();
// attach the file to the message
mbp2.attachFile(filePath);
mbp2.setFileName(MimeUtility.encodeWord(fileName));
// create the Multipart and add its parts to it
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp1);
mp.addBodyPart(mbp2);
// add the Multipart to the message
msg.setContent(mp);
// set the Date: header
msg.setSentDate(new Date());
/*
* If you want to control the Content-Transfer-Encoding of the
* attached file, do the following. Normally you should never need
* to do this.
*
* msg.saveChanges(); mbp2.setHeader("Content-Transfer-Encoding",
* "base64");
*/
// send the message
Transport.send(msg);
分享到:
相关推荐
在提供的压缩包文件“james+javaMail收发邮件”中,可能包含了示例代码和配置文件,供开发者参考和学习如何在实际项目中实现邮件收发功能,特别是处理中文内容和附件。通过理解和实践这些示例,开发者可以更好地掌握...
在使用 SpringBoot 发送邮件时,经常会遇到附件名称中文乱码的问题。本文将详细介绍解决此问题的方法。 问题分析 在发送邮件时,我们需要将附件名称编码,以便正确地传输中文名称。然而,在 SpringBoot 中,如果不...
在JavaMail中,我们可以创建、发送、接收邮件,包括添加附件、处理HTML内容以及支持中文字符。 首先,JavaMail的核心库包括`javax.mail`和`javax.mail.internet`这两个Java包,它们提供了丰富的API来处理邮件操作。...
这个“javaMail.zip”文件包含了必要的jar包,使开发者能够在Java应用程序中实现发送邮件的功能。在JavaMail API的帮助下,开发人员可以轻松地创建、发送、接收和管理电子邮件。 JavaMail API 提供了丰富的接口和类...
3. 附件问题:使用MIME技术处理附件,确保编码正确,避免乱码。 六、应用场景 JavaMail组件广泛应用于企业级应用中,如自动发送通知邮件、用户注册验证、系统日志记录、文件传输等场景。 总之,JavaMail组件是Java...
8. 调用`addFileAffix`方法添加附件,该方法创建一个`MimeBodyPart`,设置数据处理器为`FileDataSource`,并编码附件名以防止乱码。 9. 使用`setFrom`方法设置发件人地址。 10. 使用`setTo`方法设置收件人地址。 11....
在IT领域,尤其是Web开发中,文件下载是一个常见的功能,而处理中文文件名乱码问题则是一个常见的挑战。本篇主要探讨如何解决使用`response.setHeader()`方法下载中文文件名时出现的乱码问题,以及与之相关的HTTP...
8. 中文附件名、回信地址和友好名称等技巧 邮件在不同的环境下,比如跨域、跨平台时,可能会遇到中文乱码的问题,因此需要掌握相应的编码技巧以确保邮件内容在不同系统中正确显示。同时,了解如何处理邮件的回信地址...
3. 设置邮件的默认编码,例如"UTF-8",防止中文乱码。 接下来,我们将使用Freemarker来生成HTML邮件内容。这需要在Spring中配置一个FreemarkerTemplateEngine,然后创建一个模板文件(`.ftl`),在其中定义邮件的...
1. **配置环境**:创建一个`Properties`对象,设置SMTP服务器的相关属性,如主机名、端口号、是否使用SSL/TLS安全连接等。例如: ```java Properties props = new Properties(); props.put("mail.smtp.host", ...