JavaMail API - 概述

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

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

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

  • SMTP :简单邮件传输协议的缩写.它提供了一种传递电子邮件的机制.

  • POP :邮局协议的缩写. POP是互联网上大多数人用来获取邮件的机制.它定义了对每个用户的单个邮箱的支持. RFC 1939定义了该协议.

  • IMAP :互联网邮件访问协议的缩写.它是用于接收消息的高级协议.它为每个用户提供多个邮箱支持,此外,邮箱可以由多个用户共享.它在RFC 2060中定义.

  • MIME :多用途Internet邮件扩展的缩写. .它不是邮件传输协议.相反,它定义了传输内容:消息的格式,附件等.这里有许多不同的文档:RFC 822,RFC 2045,RFC 2046和RFC 2047.作为JavaMail API的用户,您通常不必担心这些格式.但是,这些格式确实存在并且由您的程序使用.

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

这些细节将在随后的章节中介绍.

架构

如上所述,java应用程序使用JavaMail API编写,发送和接收电子邮件.图说明了JavaMail的体系结构:

JavaMail API体系结构

摘要JavaMail API的机制类似于其他J2EE API,例如JDBC,JNDI和JMS.如上面的架构图所示,JavaMail API分为两个主要部分:

  • 独立于应用程序的部分:应用程序应用程序组件使用编程接口(API)来发送和接收邮件消息,与所使用的基础提供程序或协议无关.

  • 依赖于服务part:服务提供者接口(SPI)说特定于协议的语言,例如SMTP,POP,IMAP和网络新闻传输协议(NNTP).它用于将电子邮件服务的提供者插入J2EE平台.