javaMail格式以及相应编码等问题

原创 2007年09月21日 17:23:00

最近一直被javaMail格式以及相应编码等问题所困扰。
已经被搞得经历憔悴,生不如死。

今天正好下午有些时间,再这里对javamail作一些简单的总结,也是为了给自己以后的工作留一些参考。

首先明确一个概念:MIME, 全称为“Multipurpose Internet Mail Extensions”, 比较确切的中文名称为“多用途互联网邮件扩展”。
它是当前广泛应用的一种电子邮件技术规范,基本内容定义于RFC 2045-2049。

以下来总结mail的基本类型

第一种:
名称:text/plain

Content-Type: text/plain;
 format=flowed;
 charset="iso-2022-jp";
 reply-type=original
Content-Transfer-Encoding: 7bit

只带纯文本正文,基本上就是RFC 822格式;


第二种:multipart/mixed(第一种 + 一本添附文件)

Content-Type: multipart/mixed;
 boundary="----=_NextPart_000_0121_01C7FC71.8E404870"
=============

This is a multi-part message in MIME format.
// 下面这个应该就是mail正文文本的内容和格式
------=_NextPart_000_0121_01C7FC71.8E404870
Content-Type: text/plain;
 format=flowed;
 charset="iso-2022-jp";
 reply-type=original
Content-Transfer-Encoding: 7bit

// 下面这个应该就是mail的添附文件的内容和格式
------=_NextPart_000_0121_01C7FC71.8E404870
Content-Type: application/octet-stream;
 name="Test.java"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="Test.java"


第三种:multipart/alternative(就是所谓的html格式的文件)

Content-Type: multipart/alternative;
 boundary="----=_NextPart_000_0130_01C7FC72.98622A70" 

This is a multi-part message in MIME format.
// 为什么格式是text/plain呢?不明白。
------=_NextPart_000_0130_01C7FC72.98622A70
Content-Type: text/plain;
 charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

// 再接下来的东西就更加让我觉得奇怪了?

------=_NextPart_000_0130_01C7FC72.98622A70
Content-Type: text/html;
 charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-2022-jp">
<META content=3D"MSHTML 6.00.2900.2912" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
。。。。。

第四种:multipart/mixed(就是第三种 + 一个添附文件)这样看来,所有带添附文件的mail都是这样的格式的了。
Content-Type: multipart/mixed;
 boundary="----=_NextPart_000_013B_01C7FC73.31485110"

This is a multi-part message in MIME format.
// 这是什么东西?

------=_NextPart_000_013B_01C7FC73.31485110
Content-Type: multipart/alternative;
 boundary="----=_NextPart_001_013C_01C7FC73.31485110"


------=_NextPart_001_013C_01C7FC73.31485110
Content-Type: text/plain;
 charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

// 怎么还有?
------=_NextPart_001_013C_01C7FC73.31485110
Content-Type: text/html;
 charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

// 这个属于添附文件的格式。

------=_NextPart_000_013B_01C7FC73.31485110
Content-Type: application/octet-stream;
 name="Test.java"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="Test.java"


上面的东西目前为止相当的困惑

今天看到一个好东西:推荐一下

http://dev.csdn.net/article/18/18448.shtm


 

javamail中文乱码解决

oj的那个发送邮件的主题总是中文乱码,查了好多文献也没能解决,最终发现一个完美的解决方案               原文地址:http://blog.csdn.net/tolcf/arti...
  • fengsigaoju
  • fengsigaoju
  • 2016年10月19日 23:28
  • 1417

使用javamail发信过程中的一些问题及解决方法

今天在研究javamail发信的过程中,出现了一些小问题,现总结如下,以免后来者走些不必要的弯路,先把完整的能够正常运行的代码示例粘贴如下:  发邮件源代码:  package com.hyq.t...
  • u010229420
  • u010229420
  • 2017年03月23日 10:56
  • 1149

隐马尔科夫模型 (HMM) 中的三个主要问题及相关算法 (待续)

本文针对HMM中的三个主要问题:评价(Evaluation or Likelihood Computation)、解码(Decoding) 和训练 (Training) 以及其对应的算法给以详细的介绍...
  • jiacli
  • jiacli
  • 2015年03月22日 08:16
  • 2739

JavaMail的编码问题

JavaMail的编码问题  关键字: javamail的编码问题, javamail乱码  在使用javamailapi开发邮件服务系统时,我们常常会碰到很多中文乱码问题,下面就分别介绍如何解决...
  • xyl870419
  • xyl870419
  • 2014年04月17日 17:38
  • 379

JSP/Servlet设置编码格式的问题

在Java Web项目中总会遇到编码格式问题,在JSP/Servlet与浏览器传输数据时,处理编码格式的方式通常是设置request对象和response对象的编码格式。然而,一个项目中有很多个JSP...
  • wangcunhuazi
  • wangcunhuazi
  • 2015年10月19日 08:39
  • 557

视频格式与编码中的理解问题

视频编解码格式和视频编解码标准一样吗? 不一样的。 视频编解码标准规定了视频编解码的算法,比如H.264,MPEG4等;而视频编解码格式就是将按照某种视频编解码标准所产生的二进制数据...
  • b5w2p0
  • b5w2p0
  • 2013年12月04日 10:22
  • 856

转载+原创 使用记事本以及sqlyog编辑文件产生的文件编码格式问题

以下文档内容很多,但是都不是我的答案,最后本人搞定了,具体是:由于每次我都是把。sql文件拉入sqlyog之中就运行,这次我单独打开sql,之后,复制整个文件的内容,粘贴到sqlyog里面,于是,反而...
  • lehear
  • lehear
  • 2011年12月27日 14:28
  • 849

delphi 如何判断编码格式,解决乱码问题

前阵子因为需要用到idhttp下载网页,然而令人很生气的是,他下载的html源码是乱码的,这样子是没有办法使用的,所以就必须要把他进行编码格式转换,然而令人困扰的是,他是什么格式,又该怎么转,转成什么...
  • u014028956
  • u014028956
  • 2016年01月24日 15:56
  • 3683

(转)编码格式----乱码问题

文章转自互联网什么是编码格式 编码应该就是网页的一种显示形式,和电脑的字库有关系,默认的一般都是gb2132。简单来说如果你电脑上有这种编码,网页会正常显示,如果没有就会出现乱码。 ...
  • liangjianwen002
  • liangjianwen002
  • 2016年03月27日 20:15
  • 158

【Apache Flume系列】Flume-ng案例分享及source编码格式问题

流式分析案例场景分析;以及相关的编码处理
  • WeiJonathan
  • WeiJonathan
  • 2014年12月09日 13:51
  • 6986
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javaMail格式以及相应编码等问题
举报原因:
原因补充:

(最多只允许输入30个字)