Java:解决收发邮件附件乱码问题
[ 来源:Java | 作者:Java | 时间:2007-7-20 | 去论坛]
imeUtility.encodeWord是进行编码,MimeUtility.encodeWord是进行解码
无论附件中文件是什么样的字符,都可以进行正确的解码,但是当文件都是英文
文字的时候却会包错,为null,英文这个时候不支持全英文,所以这个时候应该:
if(!part_FileName.endsWith("?=")) //是全英文
{
直接赋值
}
else
{
MimeUtility.decodeWord(文件名字);
}
messageBodyPart.setFileName(MimeUtility.encodeWord(fileName));
同样收中文附件时,以MimeUtility.decodeWord()将编码后的字符串解码。
字符编码及字符集转换问题
前面提到MIME要解决的另外一个问题就是将SMTP协议不支持的字节流转换成
为SMTP 协议支持的字节流。比如我们要通过邮件传输一个附件文档,该附件文档就
是一个8bit 字节流,如果简单的直接通过SMTP 发送,其最高位信息将被丢失。MIME
规定可以用两种编码方式将8bit 的字节流编码成为低于8bit 的字节流,它们分别是
BASE64 编码(BASE64 将8bit 字节流编码成6bit 字节流)和QP 编码。这两种编码
方式同样应用在对中文的编码上。例如如果邮件中文题目叫做“CVS 介绍”,那么其
编码后的形式可能为:
Subject: =?gb2312?B?Q1ZTLS3QpMX0LnBwdA==?=
标题字符串以”=?”开始,以”?=”结束。”gb2312”表示字符串的字符集,而以”?”分
隔的”B”就表示此字符串的编码方式为BASE64。我们处理此标题时就要先将BASE64
编码的6bit 字节流转换为原来的8bit 字节流,再根据字符集”gb2312”转换为Java 中的
String 类型。这里可以简单的使用JavaMail 提供的MimeUtility.decodeWord()静态方法
将编码后的字符串解码。
相关推荐
通过Exchange接收发送邮件,可以接收附件和发送附件
java 实现 收发带附件的邮件。 依赖 mail.jar
java收发邮件的客户端 可以收发邮件和附件
java开发的电子邮件收发应用程序。包括邮件的发送、阅读、和删除功能。当然还可以添加联系人,联系人是采用xml文档保存的。本邮件系统当有新邮件到达时可以提示,并且系统托盘中的邮件图标会闪动。本邮件系统是本人...
phpmailer是一个很有名气收发邮件类代码。...一个一个乱码的问题修复。 第一:修改邮件内容乱码: 第二:修复邮件标题乱码 第三:修复其他地方乱码 来源网页:http://www.lgocl.com/blog/post-46.html
用Delphi2010 实现邮件附件收发功能 TIdPOP3组件简介 TIdPOP3 是用来接收邮件服务器的邮件信息到用户端的一个组件。它实现了RFC 1939协议。 在使用TIdPOP3组件时需设置它的几个成员属性。 Host :指定邮件服务器,...
基于java的邮件收发Java源码
c#邮件客户端,能够收发附件,有domo和封装的类库
这是用java编写的一个收发邮件的程序,主要是让JAVA初学者体会有关网络方面的编程
java源码:短信收发包 SMSLib.zip
java实现的邮件收发系统,用swing开发了界面
亲自运行过,没有任何问题,如在使用中出现bug,欢迎提出,尽量完善。谢谢哈
基于Java的邮件收发系统源码,经过调试可以正常运行 基于Java的邮件收发系统源码,经过调试可以正常运行 基于Java的邮件收发系统源码,经过调试可以正常运行 基于Java的邮件收发系统源码,经过调试可以正常运行 基于...
本项目为基于SSM的邮件收发管理系统; 用户角色包含以下功能: 用户登录,写信给好友,查看收件箱,查看已发送的邮件,草稿箱查看,通讯录设置,个人资料管理等功能。 环境需要 1.运行环境:最好是java jdk 1.8,我们在...
课程作业,分享给大家。包括邮件收发。使用javax.mail
适合练手、课程设计、毕业设计的Java项目源码:基于Javamail的邮件收发系统(系统+论文+开题报告+答辩PPT).rar 适合练手、课程设计、毕业设计的Java项目源码:基于Javamail的邮件收发系统(系统+论文+开题报告+答辩...
用户先注册邮箱账号,然后登录到我的邮箱首页,查看自己是否有新邮件,并可回复内容。
java邮件收发系统,功能与界面类似微软的Outlook。支持邮件的收发及其他大部分功能。