`

JavaMail之处理中文附件的问题

    博客分类:
  • java
SUN 
阅读更多
问题:
JavaMail能很好的支持中文,但在测试过程中发现使用JavaMail发带有中文文件名的附件时,文件名是乱码。
 
查找原因:
经测试与查看源文件发现,是在JavaMail包里的一个写邮件的方法对双字节或多字节的字符没有考虑。即在 com.sun.mail.util.LineOutputStream调用 com.sun.mail.util.ASCIIUtility.getBytes(String s); 此方法直接将字符串转化成字符然后转换成字节。其实在String类里的getBytes() 方法就直接可以按照系统缺省的编码正确转换成字节码。
 
解决方法:
将com.sun.mail.util.LineOutputStream中调用ASCIIUtility.getBytes(String s); 方法的部分改为s.getBytes()解决了此问题。 用重新编译好的LineOutputStream.class文件替换javamail里的Com/sun/mail/util/LineOutputStream.class文件即可。
分享到:
评论

相关推荐

    james和javamail实现邮件收发(带发送附件)

    在这个例子中,我们将深入探讨如何利用James服务器和JavaMail API来实现这一目标,同时处理中文内容和附件。 首先,James(Apache James)是一个开源的邮件服务器,它支持SMTP、POP3和IMAP协议,可以作为企业级的...

    JavaMail+JAF+JavaMail_API+JavaMail_API详解

    JavaMail 是一个开源的Java库,它为Java程序员提供了处理电子邮件的...通过学习和使用这些资源,开发者可以熟练掌握如何使用JavaMail和JAF来实现复杂的邮件操作,例如发送带附件的邮件、处理邮件事件、读取IMAP邮箱等。

    javamail详细的源代码说明,中文API,文档说明,附件发送

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送、接收和管理。这个压缩包文件包含的内容丰富,旨在帮助开发者深入理解 JavaMail 的工作原理和使用方法。以下是基于提供的标题、描述和标签,对 JavaMail ...

    javamail 邮件系统

    3. **处理中文字符**: 中文字符在邮件中的正确显示是JavaMail的一个关键特性。JavaMail遵循MIME标准,通过指定正确的字符集(如`UTF-8`)来确保中文字符的正确编码和解码。在创建`MimeMessage`或`MimeBodyPart`时...

    javamail.pdf

    发送邮件是 JavaMail 的核心功能之一。JavaMail 提供了多种方式来发送邮件,如文本格式和 HTML 格式。在上面的代码中,postMail 方法用于发送邮件,它支持发送带附件和不带附件的邮件。 postMail 方法的实现过程...

    JavaMail(JAVA邮件服务器)API详解 chm.rar

    除此之外,可能还会讨论更高级的主题,如使用JavaMail处理邮件模板、发送HTML邮件、处理邮件队列、以及如何在多线程环境中使用JavaMail。开发者还可能会学习到如何处理邮件头信息、邮件过滤、邮件搜索等功能。 总之...

    javamail 中文教程

    通过这个中文教程,开发者可以学习到如何利用 JavaMail API 实现邮件的发送和接收,以及如何处理复杂的邮件结构,如包含多个部分的邮件和附件。掌握这些技能对于需要在 Java 应用程序中集成邮件功能的开发者来说是至...

    JavaMail结合JSP实现中文邮件收发系统.rar

    在处理中文字符时,JavaMail API支持MIME(多用途互联网邮件扩展)编码,确保非ASCII字符(如中文)在传输过程中不会出现乱码问题。 JSP是Java的一种动态网页技术,它允许开发者在HTML页面中嵌入Java代码,实现...

    Java Mail中文文档

    8. **异常处理**:在使用JavaMail API时,可能会遇到各种异常,如连接失败、认证错误等,API提供了一系列的异常类,帮助开发者捕获和处理这些问题。 9. **与JavaEE集成**:JavaMail API 可以方便地与Java ...

    Javamail开发

    在实际开发中,还会遇到一些常见问题,如中文附件的乱码问题、Tomcat中JavaMail的兼容性和冲突问题,以及如何高效地实现邮件群发。 邮件开发涉及的基本概念包括邮件服务器和电子邮箱。邮件服务器扮演着类似现实生活...

    javamailAPI文档

    JavaMail API文档是Java开发人员在处理电子邮件功能时不可或缺的参考资料。这个API允许开发者通过编程方式发送、接收和管理电子邮件,极大地增强了Web应用程序的功能。在Java世界中,邮件服务的实现通常依赖于...

    JavaMail组件在网站用户注册系统中的应用.pdf

    在实现过程中,可能会遇到中文乱码问题。为了避免这种情况,需要确保正确设置字符编码。例如,设置MimeMessage的编码为UTF-8:`message.setEncoding("UTF-8")`,并在创建MimeBodyPart时指定相应编码。 此外,...

    12_传智播客张孝祥java邮件开发_中文附件名_回信地址_友好名称等技巧.rar

    本课程聚焦于张孝祥老师的讲解,主要探讨如何使用Java进行邮件开发,包括处理中文附件名、设置回信地址以及实现友好的邮件显示名称等技巧。 首先,JavaMail API是Java平台上的标准邮件接口,它提供了发送和接收电子...

    javaMail使用手册

    在提供的 "w3 JMail 4.3 中文使用手册(PDF)" 中,应该包含了更详细的使用示例和 API 参考,帮助你深入理解 JavaMail 库的各种功能和使用技巧。建议仔细阅读这份手册,以便更好地利用 JavaMail 实现你的邮件功能需求...

    Java自带的Java-mail框架 163 邮件发送,支持多附件,没中文乱码

    4. **处理中文乱码**: 避免中文乱码的关键在于设置正确的字符集。在创建`Message`对象时,应指定`charset`参数,例如`Message.RecipientType.TO地址, "UTF-8"`,确保邮件头部信息编码正确。同时,对于邮件正文,也...

    可带附件的复杂邮件发送实例

    JavaMail API是一个开源库,允许开发者在Java应用中处理邮件的发送和接收。本实例将深入讲解如何使用JavaMail API创建一个包含多个附件、HTML内容以及嵌入式图片的邮件。 首先,你需要配置SMTP服务器的相关属性。...

    SpringBoot mail中文附件乱码的解决方法

    邮件附件中文乱码问题 在使用 SpringBoot 发送邮件时,经常会遇到附件名称中文乱码的问题。本文将详细介绍解决此问题的方法。 问题分析 在发送邮件时,我们需要将附件名称编码,以便正确地传输中文名称。然而,在...

    传智播客张孝祥Java邮件开发学习笔记

    JavaMail是Java中处理邮件发送和接收的API,其体系结构包括API分类以及JavaBeans Activation Framework(JAF),后者用于处理数据类型和转换等问题。利用JavaMail API,开发人员可以编写Java程序来处理邮件发送任务...

Global site tag (gtag.js) - Google Analytics