JavaMail API - 概述



JavaMail API 提供了一个平台无关且协议无关的框架来构建邮件和消息应用程序。JavaMail API 提供了一组抽象类,定义了构成邮件系统的对象。它是一个可选的软件包(标准扩展),用于读取、撰写和发送电子邮件。

JavaMail 提供了用于构建消息系统接口的元素,包括系统组件和接口。虽然此规范未定义任何特定实现,但 JavaMail 确实包含几个实现了 RFC822 和 MIME 互联网消息标准的类。这些类作为 JavaMail 类包的一部分提供。

以下是 JavaMail API 支持的一些协议

  • SMTP简单邮件传输协议的首字母缩写词。它提供了一种传递电子邮件的机制。

  • POP邮局协议的首字母缩写词。POP 是大多数互联网用户获取邮件的机制。它定义了对每个用户单个邮箱的支持。RFC 1939 定义了此协议。

  • IMAP互联网消息访问协议的首字母缩写词。它是一种用于接收邮件的先进协议。除了每个用户可以拥有多个邮箱外,它还支持多个用户共享邮箱。它在 RFC 2060 中定义。

  • MIME多用途互联网邮件扩展的首字母缩写词。它不是邮件传输协议。相反,它定义了传输内容的格式:邮件、附件等的格式。这里有很多不同的文档生效:RFC 822、RFC 2045、RFC 2046 和 RFC 2047。作为 JavaMail API 的用户,您通常不必担心这些格式。但是,这些格式确实存在并被您的程序使用。

  • NNTP 及其他:许多协议由第三方提供商提供。其中一些是网络新闻传输协议 (NNTP)、安全多用途互联网邮件扩展 (S/MIME) 等。

这些内容将在后续章节中详细介绍。

架构

如上所述,Java 应用程序使用 JavaMail API 来撰写、发送和接收电子邮件。下图说明了 JavaMail 的架构

JavaMail API Architecture

JavaMail API 的抽象机制类似于其他 J2EE API,例如 JDBC、JNDI 和 JMS。如上图架构图所示,JavaMail API 分为两个主要部分

  • 应用程序无关部分:应用程序组件使用应用程序编程接口 (API) 来发送和接收邮件消息,而与底层提供程序或使用的协议无关。

  • 服务相关部分:服务提供程序接口 (SPI) 使用特定于协议的语言,例如 SMTP、POP、IMAP 和网络新闻传输协议 (NNTP)。它用于将电子邮件服务的提供程序插入到 J2EE 平台中。

广告

© . All rights reserved.