简介
javax.mail是javaee的一部分,是java针对邮件收发编程提供的实现,分为API和自身实现两部分。
主体类结构图
- JavaMail分层架构
1. 抽象层定义了为支持所有邮件系统所支持的基类、接口和抽象方法。
2. 因特网实现层使用因特网标准-RFC822和MIME实现了抽象层
3. JavaMail使用JAF封装消息数据,并处理数据交互。
- JavaMail类层次结构
- JavaMail框架
一个典型JavaMail框架邮件处理过程:
1.创建一个mail消息
2.创建一个Session对象,使用它进行用户认证及进行消息的接收和发送。
3.发送消息到接收者
4.从一个消息仓库接收消息
5.执行高级命令取回消息
JavaMail API主要组件
-
Message类
Message类由一组属性和一个内容体构成一个mail Message.它定义了地址信息并且定义了内容体结构并包含内容数据类型。
-
Message存储和检索
Message是存储在一个Folder对象中,一个Folder对象包含子folder和message,它提你工作了一个树状的folder层次。Folder类定义了读取,你们追加,拷贝和删除消息的方法。Folder对象也能发送事件到注册的事件监听器。
-
Message构成和传输
客户端通过Message子类创建一个新的Message,并通过Transport.send把它发送到它的目标地址。
-
-
Store类 它定义了一数据库,保存folder层次结构以及和它包含的messages。并且它规定了访问folder和检索存储在foldder中的message的访问协议。它也提供了提交到数据库,检索folders以及关闭连接的方法。
-
Service类
-
Session类
定义了全局以及和每个用户相关的属性。提供了转义的认证session。
做为Store和Transport的对象工作实现。
-
Event模型
JavaMail事件模型使用JDK1.1 event-model规范。
所有事件都是MailEvent的子类,JavaMail Store,Folder,Transport是事件源。