有关发信的中文附件名问题

indeed 2003-08-19 05:40:21
当附件名为中文时,出现乱码,后按如下方式修改:
关于JavaMail处理中文附件的问题 阅读次数1913

出处 CN-JAVA原创:netv





[中文JAVA技术网 2002-11-22]


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文件即可

########################################################

乱码问题解决。



过了段时间,我重装了tomcat,将mail.jar包覆盖,再次按照上面的方法进行修改
发信出现如下错误:
javax.mail.NoSuchProviderException: No provider for smtp


不知道是什么原因?

请教各位大虾,谢了!
...全文
32 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
indeed 2003-08-22
  • 打赏
  • 举报
回复
不清楚,过了两天,它自己又不乱码,感觉就像遇到了鬼,好怕怕
littlecpu 2003-08-21
  • 打赏
  • 举报
回复
不用改,好象JavaMail新版不会有这个问题
indeed 2003-08-21
  • 打赏
  • 举报
回复
自己顶一下
优秀、功能最强大、兼容性最强的一款邮件群发程序,可以应用于邮件列表的创办、信息宣传、日常发信等环境。多国语言支持(目前有简体中文、繁体中文),可以自行编写其他语言格式或风格。强大的多分组和多线程发信速度非单线程普通邮件列表程序可比,发信速度快,再大的邮件地址库也不会超时。不仅可以发送MS ACCESS2000数据库中的邮件, 更可以直接发送TXT文本文件中的邮件 主要功能介绍 ⒈ 对订阅的信件发送确认密码,只有在确认信中激活后才把邮箱记 入数据库,以保证订阅邮箱的有效性 ⒉ 支持HTML信件、发送附件、抄送、暗送、匿发送 ....... ⒊ 支持像网易、新浪等免费邮件网站发送信件时自动插入广告的功能! ⒋ 支持在线自定义欢迎信息、确认信内容、退订信息、签等内容 ⒌ 支持群组发送与单独发送 ⒍ 支持手工添加电子邮箱地址,批量用户管理 ⒎ 支持自动变量替换,方便创建个性电子杂志 ⒏ 兼容性强!支持JMAIL、ASPEMAIL、ASPMAIL、CDONTS 组件,以及 WEBEASYMAIL和CMAILSERVER 邮局 ⒐ 安全性高!使用与招商银行、腾讯QQ一样的的随机码登陆 ⒑ 支持需要认证的ESMTP邮件服务器 ⒒ 支持自动历史记录 ,电子杂志的好帮手 ⒓ 支持邮件发送等级的设置 ⒔ 支持无组件上传附件* ⒕ 支持.txt文本文件邮件地址发送与导入* ⒖ 支持.txt本本文件地址库直接发送邮件* ⒗ 自动记录群发历史邮件 ⒘ 支持分组邮件发送,再多的地址也不会超时   ⒙ 支持多线程发送,发送速度非其他程序可比

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧