在JavaMail的基础上构建自己的Email Channel
基础知识
Email入门
不说太多,至于什么是Email,Email给我们带来什么好处,也就不唠叨了。但是先得看下Email的数据结构,因为我们需要根据领域逻辑,进行面向对象的设计。
现在通过webmail和outlook发的邮件一般都是MIME邮件,如上图,但不同的client也可能稍微有所不同。
邮件是由邮件头和邮件体组成的,每个体部分由头域、空行、体组成。但几个值得注意的header
Content-Type
每个邮件体都有个content type。说明该邮件体的类型,编码,boundary等。包括:主类型,如Multipart,Text,Image;子类型:如plain,html,alternative;参数:如charset,boundary等。
Content-Disposition
我们可以通过参数来辨别某个邮件体是否是附件,附件的类型,附件的名字等。
Content-Id
Content id是邮件体的唯一标识,可以被其他邮件体所引用。我们发的HTML邮件里常常可以引用附件中的图片,就是通过CID引用的。
Content-Transfer-Encoding
转换邮件编码格式用于传输。有些传输协议对数据格式有所限制。
IMAP4 和 POP3
IMAP4优于 POP3
· IMAP可预取email的元数据信息:header,根据header做过滤。
· 可以实现直接连接到服务器上进行邮件的筛选,我把它称为select操作。
JavaMail
· Transport发邮件:SMTPTransport
· Store收邮件:IMAPStore, POP3Store
JavaMail为MIME邮件设计的数据结构:
参考文章:
http://www.javaworld.com/javaworld/jw-10-2001/jw-1026-javamail.html?page=2
http://en.wikipedia.org/wiki/MIME
http://www.freesoft.org/CIE/RFC/1521/
<<面向对象的邮件解析器的设计与实现>>
分享到:
相关推荐
JavaMail和Apache Commons Email是两个在Java环境中广泛使用的库,用于发送电子邮件。这两个库提供了丰富的功能,使得开发者能够轻松地实现复杂邮件的发送,包括文本邮件、HTML邮件、附件、多部分消息等。 JavaMail...
书名:JavaMail API基础教程(电子书) 格式:HTML 作者:IBM 目录 1.教程提示 2.引入JavaMail API 3.对相关协议的回顾 4.安装JavaMail 5.对核心类的概览 6.JavaMail API的使用 7.用SearchTerm(搜索条件)搜索 8.练习...
JavaMail 是一个开源库,用于在Java应用程序中处理电子邮件。这个库提供了丰富的API,使得开发者可以方便地执行发送、接收、读取和管理邮件的任务。`javamail-1.6`是JavaMail的一个版本,它包含了从早期版本中继承的...
在JavaMail API 1.4.7 中,主要包含以下几个核心知识点: 1. **JavaMail Session**:这是整个JavaMail API的核心,它代表了与邮件服务器的会话。通过`Session.getInstance()`或`Session.getDefaultInstance()`创建...
### James+Javamail构建邮件服务 #### 关于James与Javamail - **Apache James**:作为Apache组织的子项目之一,James(Java Apache Mail Enterprise Server)是一款完全基于Java开发的邮件服务器解决方案。它支持...
JavaMail是Java编程语言中用于处理电子邮件的API,它提供了丰富的功能,允许开发人员发送、接收和管理电子邮件...通过结合使用`jaf-1_1_1.zip`和`javamail1_4_7.zip`这两个库,开发者可以构建出稳定、高效的邮件系统。
在JavaMail 1.4.7 版本中,我们可以找到对邮件协议(如 SMTP、POP3 和 IMAP)的全面支持,以及丰富的API来构建复杂的邮件应用。 首先,`javamail-1.4.7` 文件可能是一个包含JavaMail库的JAR文件,程序员在项目中...
在开始使用JavaMail之前,需要在项目中引入JavaMail的依赖库,这通常通过Maven或Gradle等构建工具来完成。同时,需要配置邮件服务器的相关信息,包括SMTP服务器地址、端口号、用户名和密码等,这些可以通过`...
1. **API介绍**:JavaMail API提供了一系列接口和类,如`Session`、`Message`、`Store`和`Transport`,它们构成了邮件操作的基础。`Session`是整个邮件会话的上下文,用于配置邮件服务信息;`Message`代表一封邮件;...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送电子邮件。它提供了丰富的API,使得开发者可以轻松地实现SMTP(简单邮件传输协议)、ESMTP(扩展SMTP)和IMAP(因特网消息访问协议)等功能。JavaMail API ...
1. 添加JavaMail依赖:首先,在你的项目中引入JavaMail相关的依赖库,例如Maven或Gradle的配置文件中添加相应的依赖。 2. 创建Session对象:这是JavaMail的核心,用于管理邮件会话。你可以设置SMTP服务器的相关属性...
JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。这个完整JAR包包含了所有必要的组件,使得开发者能够方便地实现发送、接收、读取以及管理电子邮件。以下是JavaMail的一些关键知识点: 1. **...
3. **身份验证和安全**:JavaMail支持SSL和TLS加密,确保在不安全的网络上安全地传输敏感信息。 4. **会话和属性**:使用`Session`对象,开发者可以配置邮件服务器的连接参数,如用户名、密码、端口号等。`...
JavaMail 是一个强大的开源库,用于在Java应用程序中实现电子邮件的发送和接收功能。它提供了丰富的API,使得开发者能够方便地处理SMTP、POP3、IMAP等邮件协议,支持多种邮件格式,包括文本、HTML以及带有附件的邮件...
JavaMail和James是两个在Java环境中处理电子邮件的关键组件。JavaMail是一个开源库,它提供了用于发送、接收和操作电子邮件的标准API。而James(Apache James)则是一个完整的邮件服务器,它支持SMTP、POP3和IMAP...
在 Java 开发中,如果你需要构建一个能够发送邮件的功能,JavaMail 就是一个不可或缺的工具。本教程将带你深入了解 JavaMail 的基础概念,并教你如何使用它来发送邮件。 ### 1. JavaMail API 概述 JavaMail API ...