`

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

    博客分类:
  • Java
阅读更多

首先明确一个概念: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<wbr></wbr>_0121_01C7FC71.8E404870"
=============

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

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


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

Content-Type: multipart/alternative;
 boundary="----=_NextPart_000<wbr></wbr>_0130_01C7FC72.98622A70" 

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

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

------=_NextPart_000_0130<wbr></wbr>_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都是这样的格式<wbr></wbr>的了。
Content-Type: multipart/mixed;
 boundary="----=_NextPart_000<wbr></wbr>_013B_01C7FC73.31485110"

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

------=_NextPart_000_013B<wbr></wbr>_01C7FC73.31485110
Content-Type: multipart/alternative;
 boundary="----=_NextPart_001<wbr></wbr>_013C_01C7FC73.31485110"


------=_NextPart_001_013C<wbr></wbr>_01C7FC73.31485110
Content-Type: text/plain;
 charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

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

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

------=_NextPart_000_013B<wbr></wbr>_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<wbr></wbr>/18448.shtm

<script type="text/javascript"></script>

分享到:
评论

相关推荐

    JavaMail所需最新版(1.5.4)jar包

    12. **示例代码**:开发者通常可以从博客或其他在线资源找到使用JavaMail的示例代码,以了解如何配置Session,创建Message,设置收发邮件的参数,以及如何处理附件和不同格式的内容。 为了使用这些jar包,开发者...

    javamail的jar包

    JavaMail 还支持 HTML 邮件、MIME 编码、邮件会话跟踪、邮件过滤、邮件搜索等功能,以及 SSL/TLS 加密连接,以确保通信安全。 总的来说,JavaMail 是 Java 平台上实现邮件功能的强大工具,它通过简单的 API 允许...

    javamail相关JAR包

    - **MIME处理**:通过`MimeMessage`和`MimeBodyPart`类,可以方便地处理复杂的MIME邮件,包含多部分的内容,如嵌套的附件或不同的编码格式。 在实际开发中,将这三个JAR包加入到项目的类路径中,就可以开始编写...

    JavaMail常见问题.doc

    至于能否从Web邮件账户(如Yahoo或Hotmail)读取邮件,这取决于具体的服务提供商是否支持相应的API接口,而JavaMail API本身并不直接支持这些服务。 IMAP(Internet Message Access Protocol)是一种邮件存储协议,...

    基于Javamail的邮件收发系统

    5. **异常处理**:在开发过程中,应充分考虑网络异常、权限问题和邮件格式错误等可能遇到的问题,进行相应的异常处理。 **三、相关技术** 1. **网络编程**:理解和应用TCP/IP协议是实现邮件收发的基础,包括HTTP、...

    javamail源码

    5. **错误处理**:邮件发送过程中可能会遇到各种问题,如网络连接中断、服务器拒绝、认证失败等,因此客户端必须具备良好的错误处理机制。 6. **线程和并发**:如果应用需要同时处理多个邮件发送任务,那么线程和...

    JavaMail开发手册

    JavaMail 是一个开源的 Java API,它允许开发者在 Java 应用程序中处理电子邮件。这个API提供了丰富的功能,包括创建、发送、接收和解析邮件。JavaMail 开发手册是学习和掌握这一技术的重要资源,涵盖了从基本概念到...

    javamail-1_3_1.zip

    在实际开发中,开发者通常需要先阅读 JavaMail 的官方文档,理解各个类和方法的使用方式,然后根据项目需求进行相应的配置和编码。这个 "javamail-1_3_1.zip" 压缩包解压后,将包含源码、API 文档、示例代码以及必要...

    javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码

    对于JavaMail发送邮件过程中遇到的各种问题,通过细致地检查邮件构建逻辑、确保邮件头部信息正确设置、合理配置邮件内容编码以及完善项目环境配置,可以有效解决大多数问题。同时,利用调试工具深入理解邮件发送的...

    javamail资料.zip

    通过编写示例代码,理解如何创建 Session、构建 MimeMessage、设置收件人和发件人、添加附件以及发送邮件等步骤,是掌握 JavaMail 的关键。同时,阅读官方文档和查阅相关教程,可以帮助解决在实际开发中遇到的问题。...

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

    JavaMail API提供了相应的设置,可以避免乱码问题。 5. **发送邮件**:最后,通过`Transport.send()`方法将邮件消息发送出去。在此过程中,JavaMail会与SMTP服务器建立连接,验证身份(如果需要),并传输邮件。 ...

    javaMail编程实例

    在实际开发中,可能会遇到各种问题,如邮件编码问题、安全问题(使用 SSL/TLS 加密连接)、邮件服务器的限制等。因此,了解并掌握 JavaMail API 的详细用法和常见问题的解决方案是至关重要的。 总结来说,JavaMail ...

    javamail

    在实际应用中,你可能还需要处理更多复杂情况,例如处理 MIME 多部分消息、附件、HTML 内容、邮件编码问题等。JavaMail 提供了丰富的类和方法来处理这些需求,使得在 Java 应用程序中实现邮件功能变得更加容易和灵活...

    JavaMail 发送邮件

    JavaMail是一种广泛使用的Java库,它允许开发人员通过SMTP(简单邮件传输协议)或其他邮件传输协议...此外,对于不同的邮件服务提供商,如Yahoo、Outlook等,SMTP配置可能会有所不同,需要查阅相应的文档获取正确设置。

    javamail-1.4.3.rar

    它提供了一系列API,例如`Session`(用于设置邮件服务器信息和配置)、`Message`(表示一封邮件)、`MimeMessage`(支持MIME格式的邮件)以及`Transport`(负责将邮件发送到邮件服务器)等。通过这些API,开发者可以...

    JavaMail示例大全

    JavaMail 是一个开源的 Java 库...在深入学习 JavaMail 时,还需要关注邮件编码、垃圾邮件过滤、邮件模板、国际化等方面的知识。通过实践这些示例,你将能够熟练掌握 JavaMail 的使用,并在实际项目中发挥其强大功能。

    javaMail发送邮件常用包

    4. **异常处理**:在发送过程中可能会遇到网络问题或认证失败等问题,因此需要捕获并处理可能出现的异常。 5. **资源释放**:发送完毕后,记得关闭`Transport`和`Session`,释放相关资源。 此外,为了提高代码的可...

    JSP+SERVLET+JAVAMAIL

    在JSP+Servlet的架构中,Servlet扮演了后端服务的角色,负责处理JSP提交的请求数据,如用户填写的邮件信息,并执行相应的业务逻辑,如验证数据、发送邮件等。 ### JavaMail API JavaMail API是Java平台上的标准库,...

    javaMail.zip

    - 邮件格式问题,比如正文编码不正确导致乱码,或者附件无法正常打开。 - 安全性问题,如需要确保邮件传输过程的安全,可能需要使用SSL/TLS加密。 为了便于开发者使用,JavaMail 提供了多个版本,每个版本可能会...

Global site tag (gtag.js) - Google Analytics