首先明确一个概念: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>
分享到:
相关推荐
12. **示例代码**:开发者通常可以从博客或其他在线资源找到使用JavaMail的示例代码,以了解如何配置Session,创建Message,设置收发邮件的参数,以及如何处理附件和不同格式的内容。 为了使用这些jar包,开发者...
JavaMail 还支持 HTML 邮件、MIME 编码、邮件会话跟踪、邮件过滤、邮件搜索等功能,以及 SSL/TLS 加密连接,以确保通信安全。 总的来说,JavaMail 是 Java 平台上实现邮件功能的强大工具,它通过简单的 API 允许...
- **MIME处理**:通过`MimeMessage`和`MimeBodyPart`类,可以方便地处理复杂的MIME邮件,包含多部分的内容,如嵌套的附件或不同的编码格式。 在实际开发中,将这三个JAR包加入到项目的类路径中,就可以开始编写...
至于能否从Web邮件账户(如Yahoo或Hotmail)读取邮件,这取决于具体的服务提供商是否支持相应的API接口,而JavaMail API本身并不直接支持这些服务。 IMAP(Internet Message Access Protocol)是一种邮件存储协议,...
5. **异常处理**:在开发过程中,应充分考虑网络异常、权限问题和邮件格式错误等可能遇到的问题,进行相应的异常处理。 **三、相关技术** 1. **网络编程**:理解和应用TCP/IP协议是实现邮件收发的基础,包括HTTP、...
5. **错误处理**:邮件发送过程中可能会遇到各种问题,如网络连接中断、服务器拒绝、认证失败等,因此客户端必须具备良好的错误处理机制。 6. **线程和并发**:如果应用需要同时处理多个邮件发送任务,那么线程和...
JavaMail 是一个开源的 Java API,它允许开发者在 Java 应用程序中处理电子邮件。这个API提供了丰富的功能,包括创建、发送、接收和解析邮件。JavaMail 开发手册是学习和掌握这一技术的重要资源,涵盖了从基本概念到...
在实际开发中,开发者通常需要先阅读 JavaMail 的官方文档,理解各个类和方法的使用方式,然后根据项目需求进行相应的配置和编码。这个 "javamail-1_3_1.zip" 压缩包解压后,将包含源码、API 文档、示例代码以及必要...
对于JavaMail发送邮件过程中遇到的各种问题,通过细致地检查邮件构建逻辑、确保邮件头部信息正确设置、合理配置邮件内容编码以及完善项目环境配置,可以有效解决大多数问题。同时,利用调试工具深入理解邮件发送的...
通过编写示例代码,理解如何创建 Session、构建 MimeMessage、设置收件人和发件人、添加附件以及发送邮件等步骤,是掌握 JavaMail 的关键。同时,阅读官方文档和查阅相关教程,可以帮助解决在实际开发中遇到的问题。...
在实际应用中,你可能还需要处理更多复杂情况,例如处理 MIME 多部分消息、附件、HTML 内容、邮件编码问题等。JavaMail 提供了丰富的类和方法来处理这些需求,使得在 Java 应用程序中实现邮件功能变得更加容易和灵活...
在实际开发中,可能会遇到各种问题,如邮件编码问题、安全问题(使用 SSL/TLS 加密连接)、邮件服务器的限制等。因此,了解并掌握 JavaMail API 的详细用法和常见问题的解决方案是至关重要的。 总结来说,JavaMail ...
JavaMail API提供了相应的设置,可以避免乱码问题。 5. **发送邮件**:最后,通过`Transport.send()`方法将邮件消息发送出去。在此过程中,JavaMail会与SMTP服务器建立连接,验证身份(如果需要),并传输邮件。 ...
JavaMail是一种广泛使用的Java库,它允许开发人员通过SMTP(简单邮件传输协议)或其他邮件传输协议...此外,对于不同的邮件服务提供商,如Yahoo、Outlook等,SMTP配置可能会有所不同,需要查阅相应的文档获取正确设置。
它提供了一系列API,例如`Session`(用于设置邮件服务器信息和配置)、`Message`(表示一封邮件)、`MimeMessage`(支持MIME格式的邮件)以及`Transport`(负责将邮件发送到邮件服务器)等。通过这些API,开发者可以...
JavaMail 是一个开源的 Java 库...在深入学习 JavaMail 时,还需要关注邮件编码、垃圾邮件过滤、邮件模板、国际化等方面的知识。通过实践这些示例,你将能够熟练掌握 JavaMail 的使用,并在实际项目中发挥其强大功能。
4. **异常处理**:在发送过程中可能会遇到网络问题或认证失败等问题,因此需要捕获并处理可能出现的异常。 5. **资源释放**:发送完毕后,记得关闭`Transport`和`Session`,释放相关资源。 此外,为了提高代码的可...
在JSP+Servlet的架构中,Servlet扮演了后端服务的角色,负责处理JSP提交的请求数据,如用户填写的邮件信息,并执行相应的业务逻辑,如验证数据、发送邮件等。 ### JavaMail API JavaMail API是Java平台上的标准库,...
- 邮件格式问题,比如正文编码不正确导致乱码,或者附件无法正常打开。 - 安全性问题,如需要确保邮件传输过程的安全,可能需要使用SSL/TLS加密。 为了便于开发者使用,JavaMail 提供了多个版本,每个版本可能会...